题目 找出数组中重复的数字
题目描述
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2或者3。
解题思路
这里要特别注意:
1.找到任意重复的一个值并赋值到duplication[0]
2.函数返回True/False
思路1
先把输入的数字进行排序,然后从排序的数组中找出重复的数字就很容易了,只需要从头到尾扫描排序后的数组就可以了。
在python中数组的排序有两种方法,一种是sorted()方法,另一种是list.sort()方法。
(注:list.reverse()逆序排列)
两者的区别是:
1:list.sort() 方法返回none,sorted()返回结果
2:list.sort() 方法只可以供列表使用,而 sorted() 函数可以接受任意可迭代对象(iterable)
两者的运行时间如下图:
可以看到list.sort()运行更快。