Skip to content

Commit 29d9d8c

Browse files
authored
Update 2289-steps-to-make-array-non-decreasing.js
1 parent cd66066 commit 29d9d8c

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

2289-steps-to-make-array-non-decreasing.js

+25
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,28 @@ var totalSteps = function(nums) {
1515
}
1616
return res
1717
};
18+
19+
// another
20+
21+
/**
22+
* @param {number[]} nums
23+
* @return {number}
24+
*/
25+
const totalSteps = function(nums) {
26+
let res = 0, stk = []
27+
stk.push([nums[0], 0])
28+
for(let i = 1, n = nums.length; i < n; i++) {
29+
let steps = 0
30+
while(stk.length && stk[stk.length - 1][0] <= nums[i]) {
31+
const peek = stk.pop()
32+
steps = Math.max(steps, peek[1])
33+
}
34+
if(stk.length === 0) steps = 0
35+
else steps++
36+
37+
res = Math.max(res, steps)
38+
stk.push([nums[i], steps])
39+
}
40+
41+
return res
42+
};

0 commit comments

Comments
 (0)