-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCodility302-Time Complexity-PermMissingElem.js
More file actions
40 lines (31 loc) · 1.16 KB
/
Codility302-Time Complexity-PermMissingElem.js
File metadata and controls
40 lines (31 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// https://app.codility.com/demo/results/training4NY26W-G3D/
// Task description
// An 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:
// function solution(A);
// that, given an 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.
// Write an efficient algorithm for the following assumptions:
// 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 (Node.js 8.9.4)
if (A.length === 0) return 1
// find max number
let Along = A.length + 1
// total value use trapezoid formula
let total = ( (1 + Along)*Along/2)
// total value - all A[i]
for ( i = 0 ; i < A.length ; i++ )
{
total = total - A [i]
}
return total
}