給定乙個字串 s 和正整數 n,請使用你熟悉的程式語言輸出 s 中包含不超過 n 種字元的最長子串,
如 s="uabbcadbaef",n=4 時應該輸出 "abbcadba"。
1#判斷乙個字串裡面有幾個不同字目
2def
count_diff(s):
3 arr =
4for i ins:5
if i not
inarr:67
return
len(arr)89
#獲得最長子串
10def
get_longest_str( s, n ):
11 res_temp = ''
12 length =len(s)
13for i in range(length-n):
14for j in
range(i,length):
15 str_temp =s[i:j]
16if count_diff( str_temp )<=n and len(str_temp)>len(res_temp):
17 res_temp =str_temp
18return
res_temp
1920
if__name__ == '
__main__':
21 s = "
uabbcadbaef
"22 n = 4
23 res =get_longest_str( s,n )
24print( res )
python實現無重複字串的最長子串
給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。示例 1 輸入 abcabcbb 輸出 3解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3解釋 因為...
python 輸出字串的最長子串
假定 s 是小寫字母的字串。編寫程式,輸出 s 的最長子串 子串必須 是字母順序 如 s azcbobobegghakl 則應輸出 longest substring in alphabetical order is beggh 又如 s abcbcd 則應輸出第乙個子串 longest subst...
無重複字串的最長子串
題目描述 給定乙個字串,找出不含有重複字元的最長子串的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。解題思路 在解題之前我們先要知道如何輸入乙個字串,又不會浪費空...