zoukankan      html  css  js  c++  java
  • 3. Longest Substring Without Repeating Characters 最长的子串不重复字符

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

    Examples:

    Given "abcabcbb", the answer is "abc", which the length is 3.

    Given "bbbbb", the answer is "b", with the length of 1.

    Given "pwwkew", the answer is "wke", with the length of 3. Note that the answer must be a substring"pwke" is a subsequenceand not a substring.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    class Solution:
        def lengthOfLongestSubstring(self, s):
            """
            :type s: str
            :rtype: int
            """
            res = startIndex = 0
            m = {}
            for i in range(len(s)):
                c = s[i]
                if c in m and startIndex <= m[c]:
                    startIndex = m[c] + 1
                else:
                    res = max(res, i - startIndex + 1)
                m[c] = i
            return res
     
     
     
    #s = ""
    #s = "a"
    #s = "au"
    #s = "aabbb"
    s = "abcabcbb"
    #s = "bbbb"
    #s = "pwwkew"
    solution = Solution()
    res = solution.lengthOfLongestSubstring(s)
    print(res)







  • 相关阅读:
    php公立转农历
    php判断客户端浏览器类型
    php为图片添加水印
    php类精确验证身份证号码
    webpack脚手架搭建(简单版)
    《深入浅出Node.js》第4章 异步编程
    js 实现继承相关
    设计模式:观察者模式
    bind 方法实现
    用 CSS 实现字符串截断
  • 原文地址:https://www.cnblogs.com/xiejunzhao/p/8445807.html
Copyright © 2011-2022 走看看