问题描述
试题编号: | 201312-1 |
试题名称: | 出现次数最多的数 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。 输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。 输出格式 输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。 样例输入 6 样例输出 10 |
代码
#include<iostream> #include<algorithm> using namespace std; int main() { int n; cin>>n; int arr[n]; for(int i=0;i<n;i++) { cin>>arr[i]; } sort(arr,arr+n); int max=0; int temp=0; int result=arr[0]; for(int i=0;i<n;i++) { temp=0; for(int j=i;j<n;j++) { if(arr[i]==arr[j]) { temp++; //cout<<arr[i]<<"*** "<<j<<"***"<<i<<endl; } else { //cout<<arr[i]<<" "<<temp<<endl; if(max<temp) { max=temp; result=arr[i]; } else if(max==temp) { if(result>arr[i]) result=arr[i]; } i=j-1; j=n; } } } cout<<result<<endl; return 0; }