Minimum Time to Make Rope Colorful LeetCode solution in JavaScript

1
var minCost = function (colors, neededTime) {
2
let stack = [],
3
time = 0;
4
for (let i = 0; i < colors.length; i++) {
5
let skipPush = false;
6
while (stack.length && colors[i] === colors[stack[stack.length - 1]]) {
7
if (neededTime[i] >= neededTime[stack[stack.length - 1]]) {
8
time += neededTime[stack.pop()];
9
} else if (neededTime[i] < neededTime[stack[stack.length - 1]]) {
10
time += neededTime[i];
11
skipPush = true;
12
break;
13
}
14
}
15
if (!skipPush) stack.push(i);
16
}
17
return time;
18
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0