zoukankan      html  css  js  c++  java
  • Longest Substring Without Repeating Characters

    Longest Substring Without Repeating Characters leetcode

    Medium

    Given a string, find the length of the longest substringwithout repeating characters.

    Example 1:

    Input: "abcabcbb"
    Output: 3 
    Explanation: The answer is "abc", with the length of 3. 
    

    Example 2:

    Input: "bbbbb"
    Output: 1
    Explanation: The answer is "b", with the length of 1.
    

    Example 3:

    Input: "pwwkew"
    Output: 3
    Explanation: The answer is "wke", with the length of 3. 
                 Note that the answer must be a substring, "pwke" is a subsequence and not a substring.
    

    Code

    class Solution:
        def lengthOfLongestSubstring(self, s: str) -> int:
            start = -1
            max = 0
            # dictionary d
            d = {} 
            for i in range(len(s)):
                if s[i] in d and d[s[i]] > start:
                    start = d[s[i]]
                    d[s[i]] = i
                else:
                    d[s[i]] = i
                    if i - start > max:
                        max = i - start
            return max
            
    

    Sample 3 Explaination

    Input: "pwwkew"
    Output: 3
    Explanation: The answer is "wke", with the length of 3. 
                 Note that the answer must be a substring, "pwke" is a subsequence and not a substring.
    
    Start state: d = {} start = -1(because if  string s is empty ,return 1,if start = 0,then i - start = 0,so initialize start = -1) ,max = 0(longest substring without repeating characters)
    
    idstartmax
    i = 0 {'p':0} -1 1
    i = 1 {'p':0,'w':1} -1 2
    i = 2 {'p':0,'w':2} 1 2
    i = 3 {'p':0,'w':2,'k':3} 1 2
    i = 4 {'p':0,'w':2,'k':3,'e':4} 2 1
    i = 5 {'p':0,'w':5,'k':3,'e':4} 2 3
  • 相关阅读:
    C#编程:依赖倒置原则DIP
    java项目与javaweb项目导入jar包的区别
    《C#从入门到精通(第3版)》目录
    Sublime Text 格式化代码
    ThinkPHP 入门
    CentOS 7.2配置LAMP环境——yum版
    打包名命令:tar
    不规则数组的构建
    Linux文件权限概念
    tomcat启动成功但是没有监听8080端口
  • 原文地址:https://www.cnblogs.com/CS-WLJ/p/11249332.html
Copyright © 2011-2022 走看看