1. 程式人生 > >給定一個字串,找出不含有重複字元的最長子串的長度。 示例: 給定 "abcabcbb" ,沒有重複字元的最長子串是 "abc" ,那麼長度就是3。 給定 "bbbbb" ,最長的子串就是 "b

給定一個字串,找出不含有重複字元的最長子串的長度。 示例: 給定 "abcabcbb" ,沒有重複字元的最長子串是 "abc" ,那麼長度就是3。 給定 "bbbbb" ,最長的子串就是 "b

Str = raw_input('plese input Str:')

def qiu_chongfu(Str2):#定義判斷字串是否含有重複字元,如有返回0,沒有返回1
    biao = 0
    for i in range(0,len(Str2)):
        for j in range(i+1,len(Str2)):
            if Str2[i]==Str2[j]:
                biao = 1
                break
        if biao == 1:
            break
    if biao == 1:
        return 0
    else:
        return 1



def zhi_str(Str1):
    L = len(Str1)
    length = 0
    for i in range(0,L):
        for j in range(i+1,L+1):#生成目標字串的所有子字串,以便後續檢查
            if qiu_chongfu(Str1[i:j]) == 1:
                if len(Str[i:j])>length:#將最大的字串保留
                    length = len(Str[i:j])
                else:
                    length = length
    return length

print zhi_str(Str)

   

               

暴力方法