Skip to content

Commit 8aed33c

Browse files
committed
constructArr.js
1 parent 944bfa4 commit 8aed33c

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// 42. Construct an Array from its pair-sum Array
2+
3+
function constructArr(pair, n) {
4+
let arr = new Array(n);
5+
6+
arr[0] = Math.floor((pair[0] + pair[1] - pair[n - 1]) / 2);
7+
for (let i = 1; i < n; i++) {
8+
arr[i] = pair[i - 1] - arr[0];
9+
}
10+
11+
return arr;
12+
}
13+
14+
function calculateOriginalArrayLength(pairSumArrayLength) {
15+
return Math.ceil(Math.sqrt(8 * pairSumArrayLength + 1) + 1) / 2;
16+
}
17+
18+
let pair = [13, 11, 10, 13, 10, 9, 12, 7, 10, 9];
19+
20+
const arrayLength = pair.length;
21+
22+
const originalArrayLength = calculateOriginalArrayLength(arrayLength);
23+
24+
let n = originalArrayLength;
25+
26+
let orginalArr = constructArr(pair, n);
27+
28+
console.log("Original Arr", orginalArr);

0 commit comments

Comments
 (0)