DEV C++结果没问题,但是OJ一直报错(编译错误),但是我觉得应该是复杂度太高,学完了STL再来复现一次,希望能把复杂度降下来
#include <iostream>
#include "String.h"
using namespace std;
int main()
{
int n;
int i=0;
cin>>n;
string s[1000]={" "};
string s2[1000]={" "};
int nums[1000]={0};
int count=0;
while(n)
{
string inputS;
cin>>inputS;
s[i]=inputS;
i++;
n--;
}//将输入全部读入s中
for(int j=0;j<i;j++)
{
s2[j]=s[j];
}//copy s
for(int j=0;j<i;j++)
{
for(int k=0;k<i;k++)
{
if(s[j]==s2[k])
{
count++;
}
}
nums[j]=count;
count=0;
}//找到每个元素重复的次数及其位置
for(int j=0;j<i;j++)
{
cout<<nums[j]<<" ";
}
int max=0;//记录最大值的位置
for(int j=0;j<i;j++)
{
if(nums[j]>nums[max])
{
max=j;
}
}
cout<<s[max]<<endl;
}