题目描述
数字的模式是指在一堆给定数字中出现次数最多的数值,如5,5,5,3,3,2,6,4,它的模式就是5。现在你的任务,就是从数字中找到它的模式.
输入
第一行为整数N.从第二行开始为N个整数。对于输入的每个数,有( |input_number| <= 2000000 ).
输出
输出这些数字的模式,如果模式个数不为1,选择它们之中较小的。
样例输入
10 1 2 3 4 5 6 7 8 9 9样例输出
9#include<iostream> #include<stack> #include<cstring> using namespace std; #define INF 0x3f3f3f3f int main() { int n; cin>>n; int maxx=-INF,minn=INF; int a[2000000],b[2000000]; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); for(int i=0;i<n;i++) { cin>>a[i]; b[a[i]]++; maxx=max(maxx,b[a[i]]); } for(int i=0;i<n;i++) { if(b[a[i]]==maxx) { minn=min(a[i],minn); } } cout<<minn<<endl; return 0; }
SWUST OJ76: 数字模式的识别
于 2022-03-28 19:32:47 首次发布