Skip to content

Commit ad28f3f

Browse files
committed
Add solution #985
1 parent 73d2a09 commit ad28f3f

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

solutions/0985-sum-of-even-numbers-after-queries.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,20 @@ var sumEvenAfterQueries = function(A, queries) {
2727
return [...sums, A.reduce((sum, n) => sum + (n % 2 === 0 ? n : 0), 0)];
2828
}, []);
2929
};
30+
31+
// Significantly faster, less elegant approach:
32+
/**
33+
* @param {number[]} A
34+
* @param {number[][]} queries
35+
* @return {number[]}
36+
*/
37+
var sumEvenAfterQueries = function(A, queries) {
38+
return queries.reduce((sums, query) => {
39+
const [v, i] = query;
40+
const prev = A[i];
41+
const lastSum = sums.length ? sums[sums.length - 1] : A.reduce((sum, n) => sum + (n % 2 === 0 ? n : 0), 0);
42+
A[i] += v;
43+
sums.push(lastSum - (prev % 2 === 0 ? prev : 0) + (A[i] % 2 === 0 ? A[i] : 0));
44+
return sums;
45+
}, []);
46+
};

0 commit comments

Comments
 (0)