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