CCF201312-1 出现次数最多的数

    xiaoxiao2025-12-07  3

    题目:

    问题描述   给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。 输入格式   输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。   输入的第二行有n个整数s 1, s 2, …, s n (1 ≤ s i ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。 输出格式   输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。 样例输入 6 10 1 10 20 30 20 样例输出 10

    已AC的我的代码:

    #include <iostream> #include <vector> #include <algorithm> #include <fstream> using namespace std; int main() { int i,j,N; ifstream cin("test.txt"); while(cin>>N) { int num; vector<int> v; for(i=0;i<N;i++) { cin>>num; v.push_back(num); } sort(v.begin(),v.end(),less<int>()); num=v[0]; int count=1,min_num=v[0],min_count=1; for(i=1;i<N-1;i++) { if(v[i]>v[i-1]) { count=1; if(count>min_count) min_num=v[i]; } else if(v[i]==v[i-1]) { count++; if(count>min_count) { min_count=count; min_num=v[i]; } } } if(v[N-1]==min_num) min_count++; cout<<min_num<<endl; } return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-1304705.html
    最新回复(0)