python查找数列中重复数字_剑指提议-数组中的重复数字(Python),offer,python
时间: 2024-02-15 16:02:23 浏览: 141
(一)剑指offer—Python版—数组篇
好的,针对您的问题,我可以给您提供一个Python的解决方案。
题目描述:
在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5},那么对应的输出是重复的数字2。
解决方案:
这道题可以通过字典来解决,遍历一次数组,将数组中的每个数字作为键,出现的次数作为值,存入字典中。当某个数字的值大于1时,就说明这个数字重复了。具体代码如下:
```python
def duplicate(numbers):
# 创建一个字典
num_dict = {}
for num in numbers:
# 如果数字已经在字典中出现过,说明重复
if num in num_dict:
return num
# 否则将数字作为键,值为1存入字典
else:
num_dict[num] = 1
return None
```
测试代码如下:
```python
if __name__ == '__main__':
numbers = [2, 3, 1, 0, 2, 5]
print(duplicate(numbers))
```
输出结果为:
```
2
```
这就是一个简单的Python解决方案,希望对您有帮助。
阅读全文