Skip to content

Instantly share code, notes, and snippets.

@unlight
Created November 7, 2013 11:09
Show Gist options
  • Save unlight/7352952 to your computer and use it in GitHub Desktop.
Save unlight/7352952 to your computer and use it in GitHub Desktop.
Perm-Missing-Elem
/*
A zero-indexed array A consisting of N different integers is given. The array contains integers in the range [1..(N + 1)], which means that exactly one element is missing.
Your goal is to find that missing element.
Write a function:
int solution(int A[], int N);
that, given a zero-indexed array A, returns the value of the missing element.
For example, given array A such that:
A[0] = 2
A[1] = 3
A[2] = 1
A[3] = 5
the function should return 4, as it is the missing element.
Assume that:
N is an integer within the range [0..100,000];
the elements of A are all distinct;
each element of array A is an integer within the range [1..(N + 1)].
*/
function solution(A) {
// write your code in JavaScript (ECMA-262, 5th edition)
result = 0;
if (!A || A.length == 0) return result;
np1 = A.length + 1;
sum = np1 * (1 + np1) / 2;
sumOfA = A.reduce(function(prev, current) {
return prev + current;
});
result = sum - sumOfA;
return result;
}
@jrogatis
Copy link

jrogatis commented Jan 6, 2017

just a small correction .... the answer for no array or array.length === 0 is 1 because the problem defines a range of [1..(N + 1)] ..trick....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment