Count Hills and Valleys in an Array LeetCode solution in JavaScript

1
var countHillValley = function (nums) {
2
let previous;
3
let count = 0;
4
for (let i = 0; i < nums.length; i++) {
5
if (previous === undefined) {
6
previous = i;
7
continue;
8
}
9
if (nums[i - 1] === nums[i]) {
10
continue;
11
}
12
let nextCheck = i + 1;
13
while (nums[nextCheck] === nums[i]) {
14
nextCheck++;
15
}
16
if (nums[i] > nums[previous] && nums[i] > nums[nextCheck]) {
17
count++;
18
}
19
if (nums[i] < nums[previous] && nums[i] < nums[nextCheck]) {
20
count++;
21
}
22
previous = i;
23
i = nextCheck - 1;
24
}
25
return count;
26
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0