查找最长连续子字符串,子字符串须满足:由连续同字符组成
# 统计结果:字符:连续出现最多的次数
result = {}
# 统计连续出现的字符
def test(s):
count = 0
for c in s:
if c == s[0]:
count+=1
else:
break
# 只统计最多出现的次数
if result.get(s[0],0) < count:
result[s[0]] = count
s1 = 'abbbbbbcccddddddddddddddddeee'
index = 0
while index<len(s1):
substr = s1[index:]
test(substr)
index+=1
print('统计结果',result)
# 对结果进行排序
result_order = sorted(result.items(),key=lambda x:x[1],reverse=True)
print(result_order)
print(result_order[0])
运行结果:
统计结果 {'a': 1, 'b': 6, 'c': 3, 'd': 16, 'e': 3}
[('d', 16), ('b', 6), ('c', 3), ('e', 3), ('a', 1)]
('d', 16)