LeetCode——第三题(python):无重复字符的最长子串

题目

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

示例1

输入: “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。

示例2

输入: “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。

示例3

输入: “pwwkew”
输出: 3
解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。
请注意,你的答案必须是子串的长度,“pwke” 是一个子序列,不是子串。

运行成功的代码
class Solution(object):
    def lengthOfLongestSubstring(self, s):
        """
        :type s: str
        :rtype: int
        """
        max_len = 0
        left = -1
        d = {
    
    }

        for i in range(len(s)):
            right = s[i]
            if right in d and d[right] > left:
                left = d[right]

            d[right] = i

            if (i - left) > max_len:
                max_len = i - left

        return max_len
运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45398231/article/details/105390249