链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
找出一个数组中出现次数最多的那个元素。
输入描述:
第一行输入一个整数n(不大于20) 第二行输入n个整数,
输出描述:
找出n个整数中出现次数最多的那个整数,如果有多个,输出最先出现的那个
示例1
输入
复制4 1 2 2 3
4 1 2 2 3
输出
复制2
2
题解:对于像我一样的新手,方法比较简单粗暴;
我的思路是先开两个数组,一个用于存题中数据,另一个·存每个数据出现的次数;
代码如下:
#include <iostream>
using namespace std;
int main()
{
int n;
int a[20],b[20]={0};//开数组,存取数据。
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(a[i]==a[j])//每次遇到在i之后且与a[i]相等的数据次数都会被存在相应的b[i]中。
b[i]++;
}
}
int max=0;
for(int i=0;i<n;i++)
{
if(b[i]>b[max])//找出最大的b[i]
{
max=i;
}
}
cout<<a[max]<<endl;
return 0;
}