首页 > 其他 > 详细

1.9.9

时间:2016-12-11 08:02:34      阅读:468      评论:0      收藏:0      [点我收藏+]

09:直方图

总时间限制:
1000ms
内存限制:
65536kB
描述

给定一个非负整数数组,统计里面每一个数的出现次数。我们只统计到数组里最大的数。

假设 Fmax (Fmax < 10000)是数组里最大的数,那么我们只统计 {0,1,2.....Fmax} 里每个数出现的次数。

输入
第一行n是数组的大小。1 <= n <= 10000。
紧接着一行是数组的n个元素。
输出
按顺序输出每个数的出现次数,一行一个数。如果没有出现过,则输出0。
对于例子中的数组,最大的数是3,因此我们只统计{0,1,2,3}的出现频数。
样例输入
5
1 1 2 3 1
样例输出
0
3
1 
1
 1 #include<cstdio>
 2 #include<algorithm> 
 3 #include<cmath>
 4 #include<cstring>
 5 using namespace std;
 6 int Max(int[],int);
 7 int main()
 8 {
 9     int n;
10     scanf("%d",&n);
11     int a[n];
12     for(int i=0;i<n;i++)
13     scanf("%d",&a[i]);
14     int x=Max(a,n);
15     int b[x+1];
16     memset(b,0,sizeof(b));
17     for(int i=0;i<n;i++)
18     {
19         if(a[i]<=x)b[a[i]]++;
20     }
21     for(int i=0;i<=x;i++)
22     printf("%d\n",b[i]);
23     return 0;
24 }
25 int Max(int a[],int n)
26 {
27     int s=a[0];
28     for(int i=0;i<n;i++)
29         if(s<a[i])s=a[i];
30         return s;
31 }

 

1.9.9

原文:http://www.cnblogs.com/zby-ccsygz/p/6158870.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!