找到数组中所有消失的数字
给你一个含 n
个整数的数组 nums
,其中 nums[i]
在区间 [1, n]
内。请你找出所有在 [1, n]
范围内但没有出现在 nums
中的数字,并以数组的形式返回结果。
public List<Integer> findDisappearedNumbers(int[] nums) {for (int i = 0; i < nums.length; i++) {int index = Math.abs(nums[i]);nums[index - 1] = nums[index - 1] < 0 ? nums[index - 1] : -nums[index - 1];}List<Integer> list = new ArrayList<>();for (int i = 0; i < nums.length; i++) {if(nums[i]>0){list.add(i+1);}}return list;}
标记索引法