定一个字符串,计算其中每个字符的连续出现次数。统计时,需要考虑前后是否存在相同的字符。 例如: 输入:abcccdd 输出:[1,1,3,3,3,2,2] 解释:第一个字符a没有连续出现,因此连续出现次数为1。同理,第二个字符b的连续出现次数为1。第3、4、5个字符均为c,因此其连续出现次数均为3。第6、7个字符均为d,因此其连续次数均为2。
时间: 2024-03-14 20:44:24 浏览: 109
统计一个字符串中每个字符出现的次数
好的,这是一个字符串操作的问题。您可以这样解决这个问题:
1. 遍历给定的字符串,使用一个计数器来跟踪当前字符的连续出现次数,并将其存储在一个列表中。
2. 每当遇到一个不同的字符时,将当前字符的连续出现次数添加到列表中,并将计数器重置为1。
3. 最后,将最后一个字符的连续出现次数添加到列表中。
以下是一个 Python 代码示例,可以实现上述逻辑:
```
def count_consecutive_chars(s):
count_list = []
current_char = None
current_count = 0
for c in s:
if c == current_char:
current_count += 1
else:
if current_char is not None:
count_list.append(current_count)
current_char = c
current_count = 1
count_list.append(current_count)
return count_list
# Example usage
s = 'abcccdd'
print(count_consecutive_chars(s)) # Expected output: [1, 1, 3, 3, 3, 2, 2]
```
希望这可以帮助您解决问题!
阅读全文