题目描述:

方法一:O(N)

class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
slow = 0
fast = 0
res_max = 0
table = dict()
while slow<len(s) and fast<len(s):
if s[fast] in table:
del(table[s[slow]])
slow+=1
else:
table[s[fast]] = fast
fast+=1
res_max = max(res_max,fast-slow)
return res_max

优化:

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        occ = set()
        n = len(s)
        rk,ans = -1 ,
        for i in range(n):
            if i != 0:
                occ.remove(s[i-1])
            while rk + 1 < n and s[rk + 1] not in occ:
                occ.add(s[rk + 1])
                rk += 
            ans = max(ans,rk - i + 1)
        return ans
 

java:

class Solution {
public int lengthOfLongestSubstring(String s) {
int ans = 0;
Set occ = new HashSet();
int n = s.length();
int rk = -1;
for(int i = 0;i < n; i++){
if(i != 0){
occ.remove(s.charAt(i - 1));
}
while(rk+1 < n && !occ.contains(s.charAt(rk + 1))){
occ.add(s.charAt(rk + 1));
++rk;
}
ans = Math.max(ans,rk -i + 1);
}
return ans;
}
}

最新文章

  1. 列表中checked全选按钮的实现
  2. PCA 协方差矩阵特征向量的计算
  3. asp.net MVC3 无法打开项目文件“E:\我们的项目\Project\HeatingMIS.Web\HeatingMIS.Web.csproj”。此安装不支持该项目类型。
  4. C语言实现penna模型
  5. eclipse android logcat 只显示自己应用程序信息的设置方法
  6. NBUT 1602 Mod Three(线段树单点更新区间查询)
  7. 设计模式_Bridge
  8. 揭开嵌入式c面试题背后的玄机
  9. strtotime 的几点不同
  10. 《CSS网站布局实录》学习笔记(一)
  11. 请简述javascript的数据类型种类?
  12. VC 编程ANSI环境下读写Unicode文件
  13. 使用GetThumbnailImage进行图片缩放操作
  14. python3之OS与sys模块
  15. 菜鸟学习物联网---辨析基于Andriod 5.1,Linux,Windows10开发Dragon Board 410c板
  16. OO的奇妙冒险——OOP入门与字符串处理
  17. 佳鑫:信息流广告CTR一样高,哪条文案转化率更好?
  18. PowerDesigner ---- 数据库设计(物理模型CDM和概念模型PDM)
  19. JMeter学习(三十一)non-gui模式运行(转载)
  20. invalid END header解决方法

热门文章

  1. 高效IO之File文件操作类的基础用法(二)
  2. Python的一些列表方法
  3. gary&#39;s mod
  4. 5-MySQL-Ubuntu-操作数据库的基本操作语句
  5. axios获取本地文件配置步骤
  6. Spring案例1出纯注解开机
  7. git的指令的一张很好的图
  8. html标签注意事项
  9. 「题解」:07.16NOIP模拟T1:礼物
  10. 报错:[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the paren