part 1 方法一:
public List findDisappearedNumbers(int[] nums) {
List list = new ArrayList<>();
Set set = new HashSet<>();
for (int num : nums) {
set.add(num);
}
for (int i = 1; i <= nums.length; i++) {
if ( !set.contains(i) ) list.add(i);
}
return list;
}
part 2 方法二
public static List findDisappearedNumbers1(int[] nums) {
List list = new ArrayList<>();
for (int i = 0; i < nums.length; i++) {
int num = Math.abs(nums[i]);
if (nums[num-1] > 0) {
nums[num-1] = -nums[num-1];
}
}
for (int i = 0; i < nums.length; i++) {
int num = nums[i];
if (num>0) list.add(i+1);
}
return list;
}