美文网首页
【Leetcode/Python】Longest Substri

【Leetcode/Python】Longest Substri

作者: FLYNNNOTES | 来源:发表于2018-09-22 13:12 被阅读0次

    题目

    给定一个字符串,找出不含有重复字符的最长子串的长度。

    • 示例 1:
    输入: "abcabcbb"
    输出: 3 
    解释: 无重复字符的最长子串是 "abc",其长度为 3。
    
    • 示例 2:
    输入: "bbbbb"
    输出: 1
    解释: 无重复字符的最长子串是 "b",其长度为 1。
    
    • 示例 3:
    输入: "pwwkew"
    输出: 3
    解释: 无重复字符的最长子串是 "wke",其长度为 3。
    

    请注意,答案必须是一个子串,"pwke" 是一个子序列 而不是子串。

    class Solution:
        def lengthOfLongestSubstring(self, s):
            """
            :type s: str
            :rtype: int
            """
            dict = {}
            start = 0
            result = 0
            for i, k in enumerate(s):
                if k in dict:
                    #如果这里不加1的话,当输入单个字符串时输出为0,答案错误。
                    start = max(start, dict[k]+1)   
                dict[k] = i
                result = max(result, i-start+1)
            return result
    

    相关文章

      网友评论

          本文标题:【Leetcode/Python】Longest Substri

          本文链接:https://www.haomeiwen.com/subject/duatoftx.html