python實現 最長子字串

2021-10-01 03:51:36 字數 865 閱讀 9731

給定乙個字串 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。解題思路 在解題之前我們先要知道如何輸入乙個字串,又不會浪費空...