请在仅包含小写字母的字符串中找出出现次数最多的字符。 如果出现次数最多的字符有多个,输出最后一个出现次数最多的字符。
时间: 2023-10-31 16:05:38 浏览: 169
可以使用一个字典来记录每个字符出现的次数,然后遍历一遍字符串,更新字典。可以使用一个变量来记录出现次数最多的字符,以及一个变量来记录它出现的次数。最后再遍历一遍字典,找到出现次数最多的字符即可。
以下是 Python 代码实现:
```python
def find_most_common_char(s):
count = {}
for c in s:
if c in count:
count[c] += 1
else:
count[c] = 1
max_count = 0
max_char = None
for c, cnt in count.items():
if cnt > max_count:
max_count = cnt
max_char = c
return max_char
```
例如输入字符串 "abcaabbcc",输出字符 "c",因为它出现了 3 次,比其它字符都多。
相关问题
请用在仅包含小写字母的字符串中找出出现次数最多的字符。 如果出现次数最多的字符有多个,输出最后一个出现次数最多的字符。
可以用一个字典记录每个字符出现的次数,然后再遍历一遍字符串找出出现次数最多的字符。具体实现如下:
```python
s = input() # 输入字符串
count = {} # 记录每个字符出现的次数
# 统计字符出现次数
for c in s:
if c in count:
count[c] += 1
else:
count[c] = 1
# 找出出现次数最多的字符
max_count = 0
max_char = ''
for c in count:
if count[c] >= max_count:
max_count = count[c]
max_char = c
print(max_char)
```
比如对于输入字符串 `"abcbcaa"`,输出结果为 `"a"`,因为字符 `"a"` 出现了3次,是所有字符中出现次数最多的。如果输入字符串为 `"abcbcaac"`,则输出结果为 `"c"`,因为字符 `"a"` 和 `"c"` 都出现了3次,但是 `"c"` 是最后一个出现3次的字符。
请用c++在仅包含小写字母的字符串中找出出现次数最多的字符。 如果出现次数最多的字符有多个,输出最后一个出现次数最多的字符。
以下是使用 C++ 实现的代码:
```c++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string s;
cin >> s;
int count[26] = {0}; // 用于记录每个字母出现的次数
for (int i = 0; i < s.length(); i++) {
count[s[i] - 'a']++; // 将出现过的字母的计数加1
}
int max_cnt = 0; // 最大出现次数
char max_char = 'a'; // 出现次数最多的字符
for (int i = 0; i < 26; i++) {
if (count[i] >= max_cnt) { // 如果当前字母的出现次数大于等于最大出现次数
max_cnt = count[i]; // 更新最大出现次数
max_char = i + 'a'; // 更新出现次数最多的字符
}
}
cout << max_char << endl;
return 0;
}
```
这段代码的基本思路是:首先遍历字符串,用一个计数数组记录每个字母出现的次数;然后再遍历计数数组,找出出现次数最多的字母。注意,由于计数数组的下标是从 0 到 25 的,而字母是从 'a' 到 'z' 的,因此需要将字母转换为对应的下标。
阅读全文