小白用小白的方法,vector记录存入的单词,每次插入先看看是否存在,如果有就在对应的数组计数器加一,最后找到频数最高的idx,最后输出单词
有人用map,有人用字典树。等我数据结构学的差不多的时候回来再看看这字典树。
小白方法:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
if(!n) break;
vector<string> v;
int a[1005] = {0};
string temp;
for(int i=0;i<n;i++)
{
cin>>temp;
bool ck = false;
for(int j=0;j<v.size();j++)
{
if(v[j] == temp)
{
a[j]++;
ck = true;
}
}
if(!ck)
v.push_back(temp);
}
int max = -99999;
int idx;
for(int i=0;i<1005;i++)
{
if(max<a[i])
{
idx = i;
max = a[i];
}
}
cout<<v[idx]<<endl;
}
}