python----最长不重复子串

def lengthOfLongestSubstring(ss):
    max_len=0
    if len(ss)==0:
        return max_len
    str_dict={}
    for i in range(len(ss)):
        if ss[i] in str_dict.keys():
            start_position=str_dict[ss[i]]+1
            temp=i-str_dict[ss[i]]
            if temp>max_len:
                max_len=temp
            str_dict[ss[i]]=i
        elif i==len(ss)-1:
            temp=i-start_position
            if temp>max_len:
                max_len=temp
                str_dict[ss[i]] = i
        else:
            str_dict[ss[i]]=i
    return max_len

if __name__ == '__main__':
    print(lengthOfLongestSubstring("bbbbb"))
    print(lengthOfLongestSubstring("eeydgwdykpvz"))
    print(lengthOfLongestSubstring("pwwkew"))
    print(lengthOfLongestSubstring("abcabcbb"))

猜你喜欢

转载自blog.csdn.net/haoshan4783/article/details/88712014