[leetcode] problem 268 – missing number

Given an array containing n distinct numbers taken from 0, 1, 2, …, n, find the one that is missing from the array.

Example

No.1

Input: [3,0,1]

Output: 2

No.2

Input: [9,6,4,2,3,5,7,0,1]

Output: 8

Note

Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?

Code

1
2
3
4
5
6
7
8
public int (int[] nums) {
int result = 0;

for (int i = 0; i < nums.length; i++)
result ^= nums[i] ^ (i + 1);

return result;
}