问题描述
有一个数组,现要找出数组中任意一个重复的元素。...它的规则如下:
给定一个长度为n的数组,数组中每个元素的取值范围为:0~n-1
数组中某些数字是重复的,但是不知道哪些数字重复了,也不知道重复了几次
求数组中任意一个重复的数字
实现思路
这个问题的实现思路有三种...排序方法实现
用排序方法实现分为两步:
先用快速排序对数组进行排序
遍历排序好的数组,如果其相邻的两个元素相等就代表数组中有重复的数字,将其返回即可。
接下来,我们通过一个例子来验证下上述思路。...声明一个数组:[8, 1, 2, 3, 4, 3, 3, 4, 5]
用快速排序对上述数组进行排序,排序好的数组为: [1, 2, 3, 3, 3, 4, 4, 5, 8]
遍历数组,判断i号位置的元素与...哈希表辅助实现
我们可以额外声明一个哈希表,然后遍历数组,判断数组中的元素是否已存在于哈希表中,如果不存在就将其放入哈希表中,否则就代表数组中有重复元素,将其返回即可。