LeetCode 3 无重复字符的最长子串

题目描述

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

示例 1:

输入: s = "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

示例 2:

输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。

示例 3:

输入: s = "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

提示:

  • 0 <= s.length <= 5 * 104
  • s 由英文字母、数字、符号和空格组成

解法

依次遍历字符串,如果这个字符在子串里,则把子串的这个字符之前的都删除,加新的字符,否则继续遍历即可。

class Solution:def lengthOfLongestSubstring(self, s: str) -> int:max = 0sub_str = ""for i in s:if i in sub_str:# 如果这个字符在子串里,则把子串的这个字符之前的都删除,加新的字符index = sub_str.index(i)sub_str = sub_str[index + 1:]sub_str += iif len(sub_str) > max:max = len(sub_str)return max

复杂度

时间复杂度:O(n)
空间复杂度:O(m),m位子串的长度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/112007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软考-访问控制技术原理与应用

本文为作者学习文章&#xff0c;按作者习惯写成&#xff0c;如有错误或需要追加内容请留言&#xff08;不喜勿喷&#xff09; 本文为追加文章&#xff0c;后期慢慢追加 by 2023年10月 访问控制概念 访问控制是计算机安全的一个重要组成部分&#xff0c;用于控制用户或程序如…

PHP的学习入门建议

学习入门PHP的步骤如下&#xff1a; 确定学习PHP的目的和需求&#xff0c;例如是为了开发网站还是为了与数据库交互等。学习PHP的基础语法和程序结构&#xff0c;包括变量、数据类型、循环、条件等。学习PHP的面向对象编程&#xff08;OOP&#xff09;概念和技术。学习与MySQL…

测试用例编写详解

一、前言 测试用例的编写需要按照一定的思路进行&#xff0c;而不是想到哪写到哪&#xff0c;一般测试机制成熟的公司都会有公司自己自定义的测试用例模板&#xff0c;以及一整套的测试流程关注点&#xff0c;当然我们自己在测试生涯中也应当积累一套自己的测试框架&#xff0…

【Proteus仿真】【Arduino单片机】蜂鸣器

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用蜂鸣器等。 主要功能&#xff1a; 系统运行后&#xff0c;蜂鸣器播放音乐。 二、软件设计 /* 作者&#xff1a;嗨小易&#xff08;QQ&#x…

什么是CSS的外边距重叠?

区块的上下外边距有时会合并&#xff08;折叠&#xff09;为单个边距&#xff0c;其大小为两个边距中的最大值&#xff08;或如果它们相等&#xff0c;则仅为其中一个&#xff09;&#xff0c;这种行为称为外边距折叠。注意&#xff1a;有设定浮动和绝对定位的元素不会发生外边…

ES6 Set数据结构

1.Set 是什么 Set是新的引用型的数据结构 它类似于数组&#xff0c;但是成员的值都是唯一的&#xff0c;没有重复的值。 Set本身是一个构造函数&#xff0c;用来生成 Set 数据结构。 Set函数可以接受一个数组作为参数&#xff0c;用来初始化。 2.Set特性&#xff08;重点概…

S4系统编辑屏幕报错 报错 RFC callback call rejected by whitelist

点击 Dialog 的布局 直接报错 经过检查&#xff0c;发现正式机和开发机在 SM59 TCP/IP链接 的 EU_SCRP_WN32不一样 把开发机的数据维护到生产机&#xff0c;就可以用了 RS_SCRP_GF_PROCESS_640RFC_GET_FUNCTION_INTERFACERS_SCRP_GF_PROCESS_640RS_SCRP_GF_RBUILDINFORS_SC…

Docker Volumes卷详解以及时区、时间同步技巧

文章目录 纠正网上的时区和时间同步的错误概念比较-v 和 --mount 标志来自外部 CSV 解析器的转义值-v 和 --mount 行为之间的差异 创建和管理卷启动具有卷的容器将卷与 Docker Compose 一起使用使用卷启动服务服务的语法差异使用容器填充卷使用只读卷 在计算机之间共享数据使用…

网络代理技术的广泛应用和安全保障

随着网络世界的日益发展&#xff0c;网络代理技术作为保障隐私和增强安全的重要工具&#xff0c;其在网络安全、爬虫开发和HTTP协议中的多面应用备受关注。下面我们来深入了解Socks5代理、IP代理以及它们的作用&#xff0c;探讨它们如何促进网络安全和数据获取。 Socks5代理和…

【SA8295P 源码分析 (四)】22 - QNX Ethernet MAC 驱动 之 emac_entry / emac_attach 函数源码分析

【SA8295P 源码分析】22 - QNX Ethernet MAC 驱动 之 emac_entry / emac_attach 函数源码分析 一、EMAC:libdevnp-emac-eth.so1.1 emac 启动初始化时机1.2 libdevnp-emac-eth.so 源码目录结构1.3 emac_entry() :libdevnp-emac-eth.so 库入口函数1.3.1 dev_attach 参数介绍1.3…

ES6 Iterator 和 for...of 循环

1.iterator 概念 ES6 添加了Map和Set。这样就有了四种数据集合&#xff0c;需要一种统一的接口机制来处理所有不同的数据结构。遍历器&#xff08;Iterator&#xff09;就是这样一种机制。它是一种接口&#xff0c;为各种不同的数据结构提供统一的访问机制。任何数据结构只要部…

Python 实现梯度下降算法总结

Python 实现梯度下降算法 最近重新回顾了一下机器学习的基础知识&#xff0c;关于梯度下降的知识&#xff0c;个人认为看懂原理和公式&#xff0c;仅仅是一方面&#xff0c;如果能从代码的角度重新实现或者走一遍可能会更加记忆深刻&#xff0c;下面两个参考链接讲的就非常好&a…

会议OA小程序【首页布局】

目录 一. Flex布局介绍 1.1 什么是Flex布局 1.2 基本概念 1.3 Flex属性 二. 会议OA首页轮播图的实现 配置 Mock工具 swiper 效果展示 三. 会议OA首页会议信息布局 index.js index.wxml index.wxss 首页整体效果展示 一. Flex布局介绍 布局的传统解决方案&#x…

【LeetCode】54. 螺旋矩阵

题目链接 注意边界 和 方向变化 文章目录 Python3方法一&#xff1a; 计算每个元素 下一个元素的下标 ⟮ O ( m n ) 、 O ( m n ) ⟯ \lgroup O(mn)、O(mn) \rgroup ⟮O(mn)、O(mn)⟯方法二&#xff1a;按层模拟 ⟮ O ( m n ) 、 O ( 1 ) ⟯ \lgroup O(mn)、O(1) \rgroup…

【AIGC核心技术剖析】基于大规模弱监督的鲁棒语音识别【附源码】

论文研究了语音处理系统的能力&#xff0c;该系统只是为了预测互联网上的大量音频成绩单而训练的。当扩展到 680,000 小时的多语言和多任务监督时&#xff0c;生成的模型可以很好地推广到标准基准&#xff0c;并且通常与先前的完全监督结果竞争&#xff0c;但在零镜头传输设置中…

开发模式学习

技术项目 技术项目是指公司经过技术战略规划&#xff08;TPP&#xff09;而产生的技术或平台开发类项目&#xff0c;与产品开发项目不同&#xff0c;技术/平台的开发主要为产品开发而服务&#xff0c;主要针对内部的用户&#xff0c;而非外面直接的客户。 敏捷开发Scrum Scr…

大势山维 | 全盘自主可控的实景三维中国建设解决方案

实景三维中国建设是面向新时期测绘地理信息事业服务于社会经济建设和生态文明建设的新定位、新需求。多年来&#xff0c;大势智慧与山维科技深耕数字化建设&#xff0c;以技术研发为立身之本&#xff0c;逐步成长为空间地理信息建设领域的领跑企业。 大势智慧围绕三维重建国产…

ICML2021 | RSD: 一种基于几何距离的可迁移回归表征学习方法

目录 引言动机分析主角&#xff08;Principal Angle&#xff09;表征子空间距离正交基错配惩罚可迁移表征学习实验数据集介绍 实验结果总结与展望 论文链接 相关代码已经开源 引言 深度学习的成功依赖大规模的标记数据&#xff0c;然而人工标注数据的代价巨大。域自适应&…

Mybatis-plus连接postgrel数据库主键自增问题

首先pg中没有直接设置主键自增这一说法&#xff0c;一般只能新建一个序列&#xff0c;可以使用Navicat创建 在mp的配置类中加入序列的配置&#xff1a; Bean public IKeyGenerator keyGenerator() {return new H2KeyGenerator(); }然后实体类的主键策略只能是INPUT&#xff0…

Android系统 修改源码实现root

适用于所有Android版本&#xff08;userdebug和user版本&#xff09; 1.关闭selinux 源码路径&#xff1a;system/core diff --git a/init/selinux.cpp b/init/selinux.cpp index 5a0255acd..787917274 100644 --- a/init/selinux.cppb/init/selinux.cpp-104,6 104,8 Enforc…