题目难度:普及-
涉及知识点:快排
题意:
输入样例:
8 2 4 2 4 5 100 2 100
输出样例:
2 3 4 2 5 1 100 2
分析:先快排,再统计几个重复的数
AC代码:
#include <bits/stdc++.h>
using namespace std;
int a[9999999];//数组开大一点
int main()
{
int n,k,s=1;
ios::sync_with_stdio(false);
cin>>n;
for(int i=1; i<=n; i++)
cin>>a[i];//读入数据
sort(a+1,a+n+1);//因为i=1开始,所以a+1开始快排
for(int i=1; i<=n; i++)
if(a[i]==a[i+1])s++;//判断有几个相同的数
else
{
cout<<a[i]<<' '<<s<<endl;//输出
s=1;//返回初始值
}
return 0;
}
总结:先快排,再统计几个重复的数,最后输出