public class Solution {
public List<Integer> findDisappearedNumbers(int[] nums) {
ArrayList<Integer> list = new ArrayList<>();
int length = nums.length;
if(length == 0) return list;
Arrays.sort(nums);
//记录相同元素的个数
int count = 0;
int k = 1;
int i = 0;
for(;i < length-1;) {
if(nums[i] == nums[i + 1]) {
count = 1;
} else {
count = 0;
}
if(nums[i] != k) {
list.add(k);
k++;
continue;
}
if(count == 0) k++;
i++;
}
//判断数组里面的最后一个元素
while(nums[i] != k) {
list.add(k);
k++;
}
//处理不在数组中的元素
while(k+1 <= length) {
list.add(k+1);
k++;
}
return list;
}
}
Find All Numbers Disappeared in an Array
最新推荐文章于 2024-07-29 18:00:00 发布