1740 - 统计每个数出现的次数c++
时间: 2023-12-03 07:57:45 浏览: 90
这道题目需要统计一个数组中每个数出现的次数,并将结果存储在一个新的数组中。可以使用哈希表来实现这个功能,具体步骤如下:
1. 创建一个哈希表,用来存储每个数出现的次数。
2. 遍历数组,对于每个数,如果它在哈希表中不存在,就将它作为键添加到哈希表中,并将值设为1;如果它已经存在,就将对应的值加1。
3. 创建一个新的数组,遍历哈希表,将每个键值对转化为一个元组,然后将元组添加到新数组中。
4. 将新数组按键从小到大排序,然后返回结果。
下面是Python实现代码:
```python
def count(nums):
# 创建哈希表
counts = {}
# 统计每个数出现的次数
for num in nums:
if num not in counts:
counts[num] = 1
else:
counts[num] += 1
# 将统计结果转化为元组,添加到新数组中
result = []
for key, value in counts.items():
result.append((key, value))
# 按键从小到大排序
result.sort(key=lambda x: x[0])
return result
```
使用示例:
```python
>>> count([1, 3, 2, 1, 2, 3, 1, 2, 2, 2])
[(1, 3), (2, 6), (3, 2)]
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)