超超超详细题解
2024-06-22 11:27:47
发布于:广东
43阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
const int N=100001; //定义一个全局常量N,其为100001;
string st;//定义字符串变量st
int t[N],idx=0;//定义整型数组t和整型变量idx,idx存储的是出现频次最高的字符的序号
int main()
{
cin>>st;//输入字符串st
int len=st.size();//定义整型变量len,值为输入的字符串的长度,例如ababc
for(int i=0;i<=len-1;i)//循环,依次取字符串(ababc)的每个字符
{
t[st[i]-'a'];//第一次循环t[0]=1;第二次循环t[1]=1;第三次循环t[0]=2;
//第四次循环t[1]=2;第五次循环t[2]=1;
}
for(int i=0;i<26;++i)
if(t[i]>t[idx]) idx=i;//到底是t[i]大,还是t[idx]大?最后t[idx]=2,idx=0
cout<<char(idx+'a');//输出最终结果
return 0;
}
全部评论 1
深入题目解析:
题目内容:我们需要对一个字符串进行遍历,记录每个字母出现的次数。
输入/输出描述:输入是一个不超过100个字符的小写字母字符串,输出是最频繁出现的字母。
样例数据:输入为"hello world",输出为'l',因为'l'出现了3次,是最多的,且它的ASCII值比其他同样出现3次的字母小。
提示说明:没有特别的提示,但要注意处理可能出现的多个字母出现次数相同的情况。2024-06-22 来自 广东
0
有帮助,赞一个