统计数字出现次数
2017-12-24 14:50
323 查看
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
前一个int代表数字,后一个代表出现的数字,插进去的时候马上是有序的,如果已经存在,将对应的第二个int的数量加1就行,没有任何的查找
某次科研调查时得到了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 a0c8 , 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; }
相关文章推荐
- 用switch...case语句统计数字、空格和其他字符出现的次数
- 随机产生50个整数,位于[10,50],统计每个数字出现的次数以及出现次数最多的数字与出现次数并打印.如果出现次数为0不打印,打印时要求升序
- 【C语言】统计数字在排序数组中出现的次数
- 【c语言】统计一个数字在排序数组中出现的次数
- 【C语言】统计数组中出现次数超过一半的数字
- C++ 实现从0~100中随机生成50个数,统计出现的数字最大值和最小值,输出出现最多的次数及对应的数字
- 统计你的手机号码中出现次数最多的数字,并打印出此数字及其出现次数
- 统计用户输入的一串数字中每个数字出现的次数
- 【剑指Offer-知识迁移能力】统计一个数字在排序数组中出现的次数。
- 【数据结构】用Hash方法统计数字出现次数
- 华为机试 - 统计出现最多次数的数字
- 第十四周 统计每个数字字符出现的次数
- 统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数
- 编写一个程序统计输入字符串中:各个数字,空白字符,以及其他所有字符常出现的次数。
- 第13周项目5.1.3 统计每一个数字字符出现的次数
- PHP实现统计一个数字在排序数组中出现次数的方法
- 统计一个数字在排序数组中出现的次数。 数组是排序的,只需要找到第一个K和最后一个K就可以知道有多少个,
- 随机产生50个30到35的整数,统计每个数字出现的次数(TreeMap实现),输出时按照数字的降序排列,并且统计出现次数最多的数字和它的次数。
- 1486. 统计数字(先排序,再遍历数组统计出现次数)
- 统计字符串中:各个数字、空白字符、以及其他所有字符出现的次数