645. Set Mismatch
Last updated
Last updated
/**
* Time complexity : O(n)
* Space complexity : O(1)
*/
class Solution {
public int[] findErrorNums(int[] nums) {
int n = nums.length;
int sum = n * (n+1)/2;
int duplicate = 1;
for(int i = 0; i < n; i++) {
int index = Math.abs(nums[i])-1;
if(nums[index] < 0) {
duplicate = index+1;
} else {
sum -= Math.abs(nums[i]);
}
nums[index] = -nums[index];
}
return new int[]{duplicate, sum};
}
}