题目描述

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。
示例 2:
输入: “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。
示例 3:
输入: “pwwkew”
输出: 3
解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。
请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。

思路

详见链接

代码

class Solution():def lengthOfLongestSubstring(self,s:str) -> int:n =len(s)memo = set()max_len = 0cur_len = 0left = 0for i in range(n):cur_len += 1while (s[i] in memo):memo.remove(s[left])left += 1cur_len -= 1memo.add(s[i])max_len = max(max_len,cur_len)return max_len
test = Solution()
test.lengthOfLongestSubstring("abcabcbb")

效果

LeetCode 3.无重复字符的最长字串(滑动窗口)相关推荐

  1. [剑指offer]面试题第[48]题[Leetcode][JAVA][第3题][无重复字符的最长字串][滑动窗口][HashSet/Map]

    [问题描述][第3题][无重复字符的最长字串] 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度.示例 1:输入: "abcabcbb" 输出: 3 解释: 因为无重 ...

  2. python leetcode_python实现leetcode中无重复字符的最长字串

    ​无重复字符的最长字串是一道经典的额字符串处理算法的题目,日常编程过程中,处理字符串是很多见的.用Python来实现leetcode这道算法题,这题会涉及到一个概念"滑动窗口"的概 ...

  3. 【LeetCode】无重复字符的最长子串【滑动窗口法】

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...

  4. LeetCode 3. 无重复字符的最长子串(滑动窗口+哈希)

    1. 题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 " ...

  5. php无重复字符的最长子串,无重复字符的最长字串问题

    leetcode3:无重复字符的最长字串问题 问题描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释 ...

  6. LeetCode中等题之无重复字符的最长字串

    题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &q ...

  7. leetcode刷题:1.无重复字符的最长字串

    题目: 方法一: 首先我们可以想到暴力解法,就是 ·逐个生成字符串 ·看他受否含有重复字符 如下代码暴力法: int LenOfUniqueStr(char* Start) {int Validity ...

  8. 无重复字符的最长子串_滑动窗口

    思路: 这道题主要用到思路是:滑动窗口. 其实就是一个队列,比如例题中的 abcabcbb,进入这个队列(窗口)为 abc 满足题目要求,当再进入 a,队列变成了 abca,这时候不满足要求.所以,我 ...

  9. 滑动窗口1——无重复字符的最长字串

    滑动窗口本质是一个队列,输入进入这个窗口(队列),当不满足条件时,移动这个队列: 如何移动,只需要将左边的元素移除即可,直到满足条件. import java.util.HashSet; import ...

最新文章

  1. @Transcational特性
  2. 杜克大学计算机硕士要几年,2017杜克大学春季不招计算机专业的硕士?
  3. ireport 循环_ireport5.6.0分组显示
  4. dedecms采集功能扩展
  5. 图解linux32位平台下进程线程长什么样子
  6. nvidia TX2 CUDA yolov5环境搭建
  7. STM32出现HardFault故障的解决方法
  8. java 数组对象属性数组_Java中数组的特性
  9. Java SE 基础:继承、封装、多态、fianl、static、abstract
  10. FPM打包工具 可以把源码包制定为rpm包 是自动化部署的环节
  11. java中super和this_Java中this和super的用法总结
  12. java8实战教程,[JAVA] 汪大神Java8新特性及实战视频教程完整版
  13. linux 安装核显驱动程序,在Ubuntu系统上安装英特尔核显驱动安装器的方法
  14. printf()函数输出数据格式汇总
  15. 分享一下自己开发 kindle 电子书下载助手
  16. turtle画分形树
  17. java大文件pdf水印_java – 如何扩展PDF的页面大小以添加水印?
  18. -克服不良习惯读后感
  19. 如何混淆JavaWeb代码
  20. 微信营销解密:移动互联网时代的营销革命

热门文章

  1. 页面前端的水有多深?再议页面开发
  2. 【数据结构笔记29】最小生成树问题:Prim算法与Kruskal算法
  3. 命名空间“System.Web”中不存在类型或命名空间名称“Optimization”解决方法
  4. 自己总结一下wpf image source 绑定的几种方式
  5. OpenCart如何添加货币
  6. html类名定义规则_好程序员分享Java语言中的标识符规则
  7. Apache Qpid:一个AMQP的开源实现
  8. oracle中lag()函数和lead()函数的用法(图文)
  9. php中系统函数的特征,老鸟需要知道的一些php系统类函数
  10. Specified key was too long; max key length is 767 bytes解决方案