题意及思路
- 题意:找到出现次数最多的数,若有次数相同的就输出第一个出现的。
- 思路:😊主要思想是,迭代执行!将n个数的值存入p数组,🙂每次将 p[x]的数所对应的cnt数组中位置增一(cnt为记录p数组元素出现的次数)。😄然后,比较max与cnt [ p[x] ]的大小,max小的话就更新max数据操作。
- 思想:迭代更新!
代码
#include <bits/stdc++.h> using namespace std; int main(){ int p[150],cnt[300],n; memset(cnt,0,sizeof(cnt)); cin >> n; for(int i=0;i<n;i++) cin >> p[i]; int max = -1,ans = 0; for(int i=0;i<n;i++){ cnt[p[i]]++; if(cnt[p[i]]>max){ max = cnt[p[i]]; ans = p[i]; } } cout << ans << endl; return 0; }