📅  最后修改于: 2023-12-03 15:39:02.152000             🧑  作者: Mango
在字符串中找出最大连续出现的相同字符的长度是程序中一个常见的问题。这个问题可以通过遍历字符串,记录当前相同字符的数量来解决。以下是一个Python实现的例子:
def max_repeating_char(s):
if not s:
return 0
max_len = 1
cur_len = 1
for i in range(1, len(s)):
if s[i] == s[i-1]:
cur_len += 1
else:
max_len = max(max_len, cur_len)
cur_len = 1
return max(max_len, cur_len)
这个函数的基本想法是遍历字符串,对于每个字符,如果它和前一个字符相同,则增加当前连续相同字符的长度,否则将当前最大长度和当前长度进行比较,并将当前长度重置为1。最后返回最大长度和当前长度的最大值。
以下是一些测试案例:
assert max_repeating_char("") == 0
assert max_repeating_char("abc") == 1
assert max_repeating_char("aaa") == 3
assert max_repeating_char("aabbbcccc") == 4
assert max_repeating_char("abbcccddddeeeee") == 5
assert max_repeating_char("aBbCccDddDeEeee") == 4
上述Python实现只是其中一种方法,不同编程语言可能有不同的实现方式,例如在Java中可以使用StringBuilder来记录当前连续相同字符的长度。无论具体实现方式如何,字符串中最大连续重复字符是程序中一个基础的问题。