赞
踩
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
示例 1:
输入:
[2, 3, 1, 0, 2, 5, 3]
输出:2 或 3
限制:
2 <= n <= 100000
class Solution {
public int findRepeatNumber(int[] nums) {
for(int i= 0; i<nums.length; i++){
for(int j = i+1; j < nums.length;j++){
if(nums[i]==nums[j]){
return nums[i];
}
}
}
return 1;
}
}
class Solution {
public int findRepeatNumber(int[] nums) {
Arrays.sort(nums); // 这个排序方式要记住
int num = 0; // 用户记录那个相同的数,用作最后的返回
for(int i = 0; i < nums.length-1; i++){
if(nums[i] == nums[i+1]){
num = nums[i];
break;
}
}
return num;
}
}
class Solution(object):
def findRepeatNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
nums.sort()
for i in range(len(nums)-1):
if nums[i] == nums[i+1]:
return nums[i]
class Solution(object):
def findRepeatNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
temp_set = set()
repeat = -1 # 重复的数
for i in range(len(nums)):
temp_set.add(nums[i]) # 第一个数存入集合
if len(temp_set) < i+1:
repeat = nums[i]
break
return repeat
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。