查找无重复最长子串

题目描述
给定一个字符串,请找出其中长度最长且不含有重复字符的子串,计算该子串长度。
输入描述:
输入类型为字符串,例如”abcde“
输出描述:
输出类型为整型, 例如 5
示例1
输入
pwwkew
输出
3
说明
无重复字符的最长子串是"abc",其长度为 3

 

参考:

思路:滑动窗

if __name__ == '__main__':
    num = input()
    sub_str = set()   #滑动窗口
    max_length = 0
    left = 0
    for i in range(len(num)):
        while num[i] in sub_str:
            sub_str.remove(num[left])
            left += 1
        sub_str.add(num[i])
        max_length = max(max_length, len(sub_str))
    print(max_length)

 

posted @ 2020-07-28 14:16  Andy_George  阅读(142)  评论(0编辑  收藏  举报