【问题描述】
用HASH方法统计整数出现的次数
【输入形式】
以逗号分隔,#结尾的整数
【输出形式】
等式。左侧为排序好的整数,右侧为其出现的次数。
【样例输入】
2, 6, 7, 13, 18, 3, 6, 1, 3, 7#
【样例输出】
1=1
2=1
3=2
6=2
7=2
13=1
18=1
哈希排序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <iostream> using namespace std; int main() { string s;int a[100000]={0}; cin>>s; int i=0; int tmp=0; while(1) { if (s[i]>='0'&&s[i]<='9') { tmp=tmp*10+s[i]-'0'; } else if(s[i]==','){ a[tmp]++; tmp=0; } else if (s[i]=='#') {a[tmp]++; break;} i++; } for (int i=0; i<100000; i++) { if(a[i]!=0)cout<<i<<'='<<a[i]<<endl; } return 0; } |