个位数统计
时间: 2023-12-31 19:07:42 浏览: 31
这道题目可以使用桶排序的思想来解决。
具体做法如下:
1. 创建一个长度为 10 的数组 bucket,用于统计每个数字出现的次数,初始值全部为 0。
2. 遍历给定的整数列表,将每个数字出现的次数加 1,统计到对应的桶中。
3. 遍历桶数组,输出出现次数不为 0 的数字及其出现次数。
Python 代码实现如下:
```
def count_digit(num_list):
bucket = [0] * 10
for num in num_list:
bucket[num] += 1
for i in range(10):
if bucket[i] != 0:
print("{}: {}".format(i, bucket[i]))
# 测试
num_list = [1, 3, 2, 3, 4, 1, 5, 6, 2]
count_digit(num_list)
```
输出结果为:
```
1: 2
2: 2
3: 2
4: 1
5: 1
6: 1
```
相关问题
pta个位数统计
题目描述:
给定一个 k 位整数 N=d[k-1]d[k-2]...d[1]d[0],请你编写程序统计每种不同的个位数字出现的次数。
输入格式:
输入在一行中给出一个不超过 1000 位的正整数 N。
输出格式:
在一行中按照“数字:个数”的格式输出,以升序排列。其中数字是 0 到 9 的一个数字,个数是 N 中该数字出现的次数。如果某个数字在 N 中不出现,则不输出此数字。
输入样例:
1234567890987654321123456789
输出样例:
0:2
1:4
2:4
3:4
4:4
5:4
6:4
7:4
8:4
9:4
```python
n = input()
num_cnt = [0] * 10
for i in n:
num_cnt[int(i)] += 1
for i in range(10):
if num_cnt[i] != 0:
print('{}:{}'.format(i, num_cnt[i]))
```
时间复杂度:O(n),其中 n 为输入的数字位数。
l1-003 个位数统计 java
题目描述
给定一串数字,统计其中每个数字出现的次数。
输入格式:
输入在一行中给出一串不超过10^5^个数字,其间以空格分隔。数字为~9的整数。
输出格式:
在一行中按照格式“digit : count”输出每个数字出现的次数,其中digit是数字,count是次数,格式间有1个空格。输出按照digit的升序顺序排列。
输入样例:
100311
输出样例:
: 2
1 : 3