• 注册
    • 查看作者
    • Leetcode 3.

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

      Example 1:

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

      Example 2:

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

      Example 3:

      Input: "pwwkew"Output: 3Explanation: 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.

      Solution:

      class Solution:
          def lengthOfLongestSubstring(self, s: str) -> int:
              diction = {}
              start = 0
              longest = 0
              for i in range(len(s)):
                  pos = diction.get(s[i])
                  if pos is not None and pos >= start:
                      length = i - start
                      start = pos +1
                      longest = max(length, longest)
                  
                  diction[s[i]] = i
              longest = max(longest, len(s)- start)
                  
              return longest

      纽约州·纽约
    • 0
    • 0
    • 0
    • 506
    • 请登录之后再进行评论

      登录
    • 做任务