Tasks Details
easy
Find the missing element in a given permutation.
Task Score
100%
Correctness
100%
Performance
100%
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] = 5the 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)].
Copyright 2009–2024 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.
Solution
Programming language used JavaScript
Time spent on task 11 minutes
Notes
not defined yet
Task timeline
Code: 14:25:59 UTC,
java,
autosave
Code: 14:26:00 UTC,
java,
autosave
Code: 14:31:18 UTC,
js,
verify,
result: Failed
Analysis
expand all
Example tests
1.
0.072 s
RUNTIME ERROR,
tested program terminated with exit code 1
stderr:
Invalid result type, integer expected, 'undefined' found Perhaps you are missing a 'return'?stdout:
10
Code: 14:32:03 UTC,
js,
autosave
Code: 14:32:07 UTC,
js,
verify,
result: Failed
Analysis
expand all
Example tests
1.
0.068 s
WRONG ANSWER,
got -1 expected 4
Code: 14:32:54 UTC,
js,
autosave
Code: 14:33:25 UTC,
js,
autosave
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(A) {
if (!A.length) {
return 1
}
const size = A.length
const originalSum = (size * (size + 1)) / 2
const sum = A.reduce((p, c) => p + c, 0)
return sum - originalSum
}
Code: 14:33:26 UTC,
js,
verify,
result: Failed
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(A) {
if (!A.length) {
return 1
}
const size = A.length
const originalSum = (size * (size + 1)) / 2
const sum = A.reduce((p, c) => p + c, 0)
return sum - originalSum
}
Analysis
expand all
Example tests
1.
0.072 s
WRONG ANSWER,
got 1 expected 4
Code: 14:33:39 UTC,
js,
verify,
result: Failed
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(A) {
if (!A.length) {
return 1
}
const size = A.length
const originalSum = (size * (size + 1)) / 2
const sum = A.reduce((p, c) => p + c, 0)
console.log(sum, originalSum)
return sum - originalSum
}
Analysis
expand all
Example tests
1.
0.076 s
WRONG ANSWER,
got 1 expected 4
stdout:
11 10
Code: 14:35:00 UTC,
js,
autosave
Code: 14:35:45 UTC,
js,
autosave
Code: 14:35:47 UTC,
js,
verify,
result: Failed
Analysis
expand all
Example tests
1.
0.072 s
RUNTIME ERROR,
tested program terminated with exit code 1
stderr:
solution.js:12 for (let i=0; i<=size-1 i++) { ^ SyntaxError: Unexpected identifier at createScript (vm.js:80:10) at Object.runInNewContext (vm.js:135:10) at getSolution (/tmp/exec.js:392:29) at Promise.resolve.then (/tmp/exec.js:426:34) at <anonymous> at process._tickCallback (internal/process/next_tick.js:188:7) at Function.Module.runMain (module.js:686:11) at startup (bootstrap_node.js:187:16) at bootstrap_node.js:608:3
Code: 14:35:52 UTC,
js,
verify,
result: Passed
Analysis
Code: 14:35:59 UTC,
js,
verify,
result: Passed
Analysis
Code: 14:36:01 UTC,
js,
final,
score: 
100
Analysis summary
The solution obtained perfect score.
Analysis
Detected time complexity:
O(N) or O(N * log(N))
expand all
Correctness tests
1.
0.068 s
OK
2.
0.072 s
OK
1.
0.068 s
OK
2.
0.068 s
OK
1.
0.068 s
OK
2.
0.068 s
OK
1.
0.068 s
OK
2.
0.072 s
OK
3.
0.068 s
OK
1.
0.072 s
OK
expand all
Performance tests
1.
0.080 s
OK
1.
0.080 s
OK
1.
0.108 s
OK
2.
0.096 s
OK
3.
0.096 s
OK
1.
0.112 s
OK
1.
0.100 s
OK