这个任务是这个系列中的第一个。在这里你应该找到字符串中最长的相同字符重复出现的次数,并返回它的重复次数。
例如:字符串“aaabbcaaaa”包含具有相同字母“aaa”,“bb”,“c”和“aaaa”的四个子字符串。 最后一个子字符串是最长的一个字符串,你应该返回 4 。
输入: 一个字符串.
输出: 一个整数.
例子:
long_repeat('sdsffffse') == 4
long_repeat('ddvvrwwwrggg') == 3
# 方法1
# def long_repeat(line):
# count = 0
# for char in line:
# newchar = char
# while(line.count(newchar) > 0):
# newchar += char
# if count < len(newchar)-1:
# count = len(newchar)-1
# return count
# 方法2
from itertools import groupby
def long_repeat(line):
return max((sum(1 for i in g) for k, g in groupby(line)), default=0)
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert long_repeat('sdsffffse') == 4, "First"
assert long_repeat('ddvvrwwwrggg') == 3, "Second"
assert long_repeat('abababaab') == 2, "Third"
assert long_repeat('') == 0, "Empty"
print('"Run" is good. How is "Check"?')