找到所有数组中消失的数字(原地寻找)
package Leetcode;
import java.util.*;
/**
* @Author li
* @Date 4/2/22 11:01 PM
* @Version 1.0
* 描述 :找到所有数组中消失的数字
* 名称:FindDisappearedNumbers
*/
public class FindDisappearedNumbers {
public List<Integer> findDisappearedNumbers(int[] nums) {
List<Integer> list = new ArrayList<>();
for (int i=0;i<nums.length;i++){
int index = Math.abs(nums[i])-1;//记录索引
nums[index]= -Math.abs(nums[index]);//将存在的数的索引所对应的值变成负数
}
for (int i=0;i<nums.length;i++){
if (nums[i]>0)
{
list.add(i+1);
}
}
return list;
}
}