统计数字出现次数

来源:互联网 发布:导航触摸屏校正软件 编辑:程序博客网 时间:2024/05/22 14:05

Description
某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。

Input
包含多个测试数据,每个包含n+1行:
第1行是整数n,表示自然数的个数。
第2~n+1行每行一个自然数。
1<=n<=200000,每个数均不超过1 500 000 000(1.5*109)

Output
对每个测试数据输出m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。

相邻两个测试数据间用一个空行隔开。

Sample Input
Copy sample input to clipboard
8
2
4
2
4
5
100
2
100
Sample Output
2 3
4 2
5 1
100 2

用到的库

map


思路

map<int, int>

前一个int代表数字,后一个代表出现的数字,插进去的时候马上是有序的,如果已经存在,将对应的第二个int的数量加1就行,没有任何的查找

#include <iostream>#include <map>using namespace std;int main() {    int num;    long long data;    int c = 0;    while(cin >> num) {        if(c != 0) {            cout << endl;        } else {            c  = 1;        }        map<long long, long long> map1;        for(int i = 0; i < num; i++) {            cin >> data;            auto ret = map1.find(data);            if(ret == map1.end()) {                map1[data] = 1;            } else {                ret->second++;            }        }        for(auto it = map1.begin(); it != map1.end(); it++) {            cout << it->first << " " << it->second << endl;        }    }    return 0;}
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 说话的技巧和应变能力 怎么锻炼口才和应变能力 应和拼音 应和的读音 应和读音 应和的意思是什么 应和的拼音怎么写 应和的拼音是什么 应城 应城网 应城在线 应城市 湖北应城 应城论坛 应城吧 应城东站 武汉到应城 应城招聘 应城在线网 应城网站 应城房价 应城招聘网 应城火车站 应城就业信息网 应城陈新亮老婆图片 汉口到应城火车时刻表 应城二手房出售信息 应城在线招聘 应城的汤池温泉 应城人才市场 应城汤池温泉住宿 应城汤池电话 应城住房信息网 应城属于哪个市 影城网 应声虫 应声 应声虫是什么意思 平上去入对应声调 备孕应多吃什么 备孕应注意事项