美文网首页LeetCode 解题
LeetCode 3. 无重复字符的最长子串(Longest S

LeetCode 3. 无重复字符的最长子串(Longest S

作者: leacoder | 来源:发表于2019-07-23 00:38 被阅读0次
    LeetCode.jpg

    3. 无重复字符的最长子串

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
    
    示例 1:
    
    输入: "abcabcbb"
    输出: 3 
    解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
    示例 2:
    
    输入: "bbbbb"
    输出: 1
    解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
    示例 3:
    
    输入: "pwwkew"
    输出: 3
    解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
         请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
    

    Python3

    巧用切片

    
    # @author:leacoder
    # @des:  巧用切片 无重复字符的最长子串
    
    class Solution:
        def lengthOfLongestSubstring(self, s: str) -> int:
            if not s:
                return 0
            tmp_list = []
            res = []
            for value in s:
                if value not in tmp_list:
                    tmp_list.append(value)
                else:
                    res.append(len(tmp_list))
                    i = tmp_list.index(value)
                    tmp_list = tmp_list[i + 1:]
                    tmp_list.append(value)
            res.append(len(tmp_list))
            return max(res)
    

    GitHub链接:
    https://github.com/lichangke/LeetCode

    知乎个人首页:
    https://www.zhihu.com/people/lichangke/

    简书个人首页:
    https://www.jianshu.com/u/3e95c7555dc7

    个人Blog:
    https://lichangke.github.io/

    欢迎大家来一起交流学习

    相关文章

      网友评论

        本文标题:LeetCode 3. 无重复字符的最长子串(Longest S

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