Find All Numbers Disappeared in an Array with O(n) and using in-place

class Solution {
public List findDisappearedNumbers(int[] nums) {

    ArrayList<Integer> missingList = new ArrayList<Integer>();

    for(int i =0 ;i <nums.length;i++){
        int val = Math.abs(nums[i])-1;
        if(nums[val] > 0){
            nums[val] = -nums[val];
        }
    }

    for(int i = 0 ; i<nums.length;i++){
        if(nums[i] > 0){
            missingList.add(i+1);
        }
    }
    return missingList;
}

}

Comments (2)