Zky20110607 @ 2023-02-25 14:27:40
数据统计(tongji.cpp)
【题目描述】
给定一个长度为n的整型数组a,统计数组中每个数字出现的次数,并打印输出。
【输入格式】
两行,第一行是一个正整数n表示数组长度,第二行包含n个整数表示数组元素;
数组元素可能有正数也可能有负数。
【输出格式】
若干行,每行包含两个整数,第一个是数组中数字的值,第二个是该数字出现的次数;
数组元素升序排列。
【样例输入】
10
2 2 2 1 -4 -4 -4 -4 1 2
【样例输出】
-4 4
1 2
2 4
by C20220215 @ 2023-02-25 14:33:11
用multiset可以啊
by Luban @ 2023-02-25 14:34:25
输出随机数谢谢喵
我不会做捏)
by hyperhypercubic @ 2023-02-25 14:35:43
输出随机数谢谢喵
我不会做捏)
by OldDriverTree @ 2023-02-25 14:43:12
@Zky20110607
by C20220215 @ 2023-02-25 14:43:21
给份代码:
#include <iostream>
#include <algorithm>
#include <map>
#include <cmath>
#include <vector>
#include <set>
#define ll long long
using namespace std;
multiset <ll> m;
ll n, a;
int main()
{
cin >> n;
while (n--)
{
cin >> a;
m.insert(a);
}
for (multiset <ll>::iterator i = m.begin(); i != m.end(); i++)
{
multiset <ll>::iterator k = i;
++k;
if (k != m.end() && (*k) != (*i)) cout << (*i) << " " << m.count(*i) << endl;
}
multiset <ll>::iterator i = m.end();
i--;
cout << (*i) << " " << m.count(*i) << endl;
}
by yinbe @ 2023-02-25 15:23:34
@Zky20110607 我觉得可以给数处理一下然后桶排,请给一下数据范围
by GANYUE @ 2023-04-04 23:17:50
#include <bits/stdc++.h>
#define ll long long
using namespace std;
multiset <ll> m;
ll n, a;
int main()
{
cin >> n;
while (n--)
{
cin >> a;
m.insert(a);
}
for (multiset <ll>::iterator i = m.begin(); i != m.end(); i++)
{
multiset <ll>::iterator k = i;
++k;
if (k != m.end() && (*k) != (*i)) cout << (*i) << " " << m.count(*i) << endl;
}
multiset <ll>::iterator i = m.end();
i--;
cout << (*i) << " " << m.count(*i) << endl;
}