猿辅导2:去除重复的报数
猿辅导老师在直播课上和同学们做游戏,让同学们在聊天区报自己的学号,每报一次可以获得一个礼物。但是老师不给报数次数超过了一定的次数的同学发礼物。现在请你来帮助老师把聊天区的报数数列处理一下。规定,当发现某个数大于 m 次时,则认定为报数过多,我们需要得到去除这些学生的报数后的报数数列。
利用unordered_map;
#include<iostream> #include<algorithm> #include<vector> #include<unordered_map> using namespace std; //返回最长连续没有触发警报的课程数量 int main() { long n, m; cin >> n >> m; unordered_map<long, int> stu; vector<long> v(n, -1); for (int i = 0; i < n; ++i) { cin >> v[i]; //若stu里面没有number,就将number设置为key,关键字设置为1.表示number的次数为1 stu[v[i]]++; } for (int i = 0; i < n; ++i) { if (stu[v[i]] != 0 && stu[v[i]] <= m) cout << v[i] << " "; } cout << endl; system("pause"); return 0; }