Find Good Days to Rob the Bank LeetCode solution in JavaScript

1
var goodDaysToRobBank = function (security, time) {
2
let decrease = [0];
3
let increase = Array(security.length).fill(0);
4

5
// Prefix
6
for (let i = 1; i < security.length; i++) {
7
if (security[i] <= security[i - 1]) decrease[i] = decrease[i - 1] + 1;
8
else decrease[i] = 0;
9
}
10

11
// Suffix
12
for (let j = security.length - 2; j >= 0; j--) {
13
if (security[j] <= security[j + 1]) increase[j] = increase[j + 1] + 1;
14
else increase[j] = 0;
15
}
16

17
let output = [];
18
for (let k = 0; k < security.length; k++) {
19
let left = decrease[k];
20
let right = increase[k];
21
if (left >= time && right >= time) output.push(k);
22
}
23

24
return output;
25
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0