Skip to content

Commit 7c68bf6

Browse files
authored
Create 5958-number-of-smooth-descent-periods-of-a-stock.js
1 parent c32e88e commit 7c68bf6

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* @param {number[]} prices
3+
* @return {number}
4+
*/
5+
const getDescentPeriods = function(prices) {
6+
if(prices.length === 1) return 1
7+
let res = 0, idx = 0
8+
9+
for (let i = 1, n = prices.length; i < n ; i++) {
10+
if(prices[i - 1] - prices[i] === 1) {
11+
if (i === n - 1) {
12+
const len = i - idx + 1
13+
res += (len + 1) * len / 2
14+
}
15+
} else {
16+
const len = i - 1 - idx + 1
17+
res += (len + 1) * len / 2
18+
idx = i
19+
if(i === n - 1) {
20+
res += 1
21+
}
22+
}
23+
24+
}
25+
26+
return res
27+
};

0 commit comments

Comments
 (0)