python实现:最长⼦字符串
给定⼀个字符串 s 和正整数 n,
请使⽤你熟悉的编程语⾔输出 s 中包含不超过 n 种字符的最长⼦串,
如 s="uabbcadbaef",n=4 时应该输出 "abbcadba"。
1# 判断⼀个字符串⾥⾯有⼏个不同字⽬
2def count_diff(s):
3 arr = []
4for i in s:
5if i not in arr:
6 arr.append(i)
7return len(arr)
8
9# 获得最长⼦串
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
19
20if__name__ == '__main__':
21 s = "uabbcadbaef"
22 n = 4
23 res = get_longest_str( s,n )
24print( res )
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论