猿辅导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;
}

全部评论

相关推荐

昨天 12:43
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
蚂蚁 基架java (n+6)*16 签字费若干
点赞 评论 收藏
分享
11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务