题目描述:
给定一个包含 [0, n]
中 n
个数的数组 nums
,找出 [0, n]
这个范围内没有出现在数组中的那个数。
思路:
找出 [0, n]
这个范围内没有出现在数组中的那个数,可以定义一个集合,把原来数组中的所有数字无重复的添加进去,然后遍历0~n,查看集合中是否有没出现在0~n中的数字,返回即可。
class Solution {
public int missingNumber(int[] nums) {
HashSet<Integer> set = new HashSet<>();
for(int i = 0; i < nums.length; i++){
set.add(nums[i]);
}
for(int i = 0; i <= nums.length; i++){
if(!set.contains(i)){
return i;
}
}
return -1;
}
}