missing number
by sramnan
JavaScript
function findMissing(set) {
var x1 = set[0]; // XOR for elems in array
var x2 = 1; // XOR for all the integers from 1 to n + 1
for (var i = 1; i < set.length; i++) {
x1 = x1 ^ set[i];
}
for (var i = 2; i <= set.length+1 ; i++) {
x2 = x2 ^ i; // just counting up from 1 and doing XOR
}
return (x1 ^ x2); // The difference in XOR (bitwise) is the missing value
}
console.log(findMissing([2, 3, 4, 5, 6]));