package org.example.leetcodeBook.hash;
import java.util.Arrays;
import java.util.HashSet;
public class MissingNumberSolution {
public int missingNumber(int[] nums){
Arrays.sort(nums);
int n=nums.length;
for (int i = 0; i <n ; i++) {
if(nums[i]!=i){
return i;
}
}
return n;
}
public int missingNumber1(int[] nums){
HashSet<Integer> set = new HashSet<>();
int n=nums.length;
for (int i = 0; i <n ; i++) {
set.add(nums[i]);
}
int missing=-1;
for (int i = 0; i <=n ; i++) {
if(!set.contains(i)){
missing=i;
break;
}
}
return missing;
}
public int missingNumber2(int[] nums){
int xor=0;
int n=nums.length;
for (int i = 0; i <n ; i++) {
xor^=nums[i];
}
for (int i = 0; i <=n ; i++) {
xor^=i;
}
return xor;
}
public int missingNumber3(int[] nums){
int n=nums.length;
int total=n*(n+1)/2;
int arrSum=0;
for (int i = 0; i <n ; i++) {
arrSum+=nums[i];
}
return total-arrSum;
}
}