题目
@Description: 找出数组中重复的数字
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的, 但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 2 <= n <= 100000
码子
public int findRepeatNumber3(int[] nums) {
//先排序!!!
Arrays.sort(nums);
int p = 0;
while (p < nums.length) {
//如果相邻的两个数相等,则返回
if (nums[p] == nums[p + 1]) {
return nums[p];
}
p++;
}
//如前面未返回,则抛出 运行时异常,提示未找到重复的数
throw new RuntimeException("Not Found");
}