给定一个非负整数数组,统计里面每一个数的出现次数。我们只统计到数组里最大的数。 假设 Fmax(Fmax \le 100000)Fmax(Fmax≤100000)是数组里最大的数,那么我们只统计 \{0,1,2 \ldots Fmax \}{0,1,2…Fmax} 里每个数出现的次数。 输入格式 第一行 nn 是数组的大小。1 \le n \le 1000001≤n≤100000。 紧接着一行是数组的 nn 个元素。 输出格式 按顺序输出每个数的出现次数,一行一个数。如果没有出现过,则输出 00。 对于例子中的数组,最大的数是 33,因此我们只统计 \{0,1,2,3\}{0,1,2,3} 的出现频数。
时间: 2024-04-13 14:29:26 浏览: 121
信息学奥赛1115:直方图.cpp
我们可以使用一个长度为 Fmax+1 的数组来记录每个数的出现次数。首先将数组初始化为0,然后遍历给定的数组,对于每个元素,将对应位置的计数加1。最后遍历统计数组,输出每个数的出现次数即可。
以下是一个示例的Python代码实现:
```python
n = int(input())
arr = list(map(int, input().split()))
Fmax = max(arr)
count = [0] * (Fmax+1)
for num in arr:
count[num] += 1
for i in range(Fmax+1):
print(count[i])
```
希望能对你有所帮助!如果还有其他问题,请随时提问。
阅读全文