B2096 直方图

· · 题解

题目:B2096

题目要求就是统计数组里面每一个数的出现次数。

我们可以先判断已出现的数可以到达的的最大的数,再以这个最大的数为终点,分别统计每个数字出现的个数。

CODE

#include<bits/stdc++.h> //万能头文件 
using namespace std;
int a[100001]; 
int n,x,m=0;
int main()
{
    cin>>n;//数组大小 
    for(int i=1;i<=n;i++)//读入数组 
    {
        cin>>x;
        a[x]++;
        if(m<x)
            m=x;//找出最大数
    }
    for(int i=0;i<=m;i++)
        cout<<a[i]<<endl;
    return 0;
}