1
// Approach 1: Find diff4
public int missingNumber(int[] nums) {6
int expectedSum = (n * (n + 1)) / 2;7
for (int num : nums) expectedSum -= num;14
public int missingNumber(int[] nums) {16
for (int i = 1; i <= nums.length; i++) xor1 = xor1 ^ i;19
for (int num : nums) xor2 = xor2 ^ num;24
// Approach 3: Cyclic sort26
public int missingNumber(int[] nums) {29
while (i < nums.length) {31
if (nums[i] != i && nums[i] < nums.length) swap(i, nums[i], nums);35
for (int j = 0; j < nums.length; j++) {36
if (nums[j] != j) return j;41
private void swap(int i, int j, int[] nums) {