Longest Mountain in Array LeetCode solution in JavaScript

1
var longestMountain = function (arr) {
2
let len = arr.length;
3
let climbUp = false;
4
let climbDown = false;
5
let countUp = 0;
6
let countDown = 0;
7
let distance = 0;
8
let max = 0;
9
if (len < 3) {
10
return 0;
11
}
12
for (i = 0; i < len; i++) {
13
if (arr[i - 1] < arr[i]) {
14
countUp++;
15
climbUp = true;
16
} else if (arr[i - 1] > arr[i] && climbUp) {
17
countDown++;
18
climbDown = true;
19
}
20
if (
21
(arr[i - 1] >= arr[i] && arr[i] <= arr[i + 1]) ||
22
(i == len - 1 && climbDown == true)
23
) {
24
distance = countUp + countDown + 1;
25
if (max < distance && climbUp && climbDown) {
26
max = distance;
27
}
28
countUp = 0;
29
countDown = 0;
30
climbUp = false;
31
climbDown = false;
32
}
33
if (arr[i + 1] == arr[i]) {
34
climbUp = false;
35
climbDown = false;
36
}
37
}
38
return max < 3 ? 0 : max;
39
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0