Re: [閒聊] 每日LeetCode
https://leetcode.com/problems/minimum-time-to-make-rope-colorful/description
1578. Minimum Time to Make Rope Colorful
給你一個字串陣列 colors 表示氣球顏色,neededTime[] 表示移除特定位置氣球所需的
時間,求出最少要花多少時間可讓所有相鄰氣球不同色。
思路:
1.要對一個隊列分組,假如隊列是 aa bbb cc 就是要取: aa除了最大時間外的和
+ bbb 除了最大時間外的和 + cc ....,如果沒連續氣球就不管。
2.判斷前一個氣球是不是同色,如果是的話就加上耗時比較小的做為成本,並記住先前
耗時最大保留的氣球,如果不同色的話重置最大成本為當前耗時,遍歷到底即可。
Java Code:
-----------------------------------------
class Solution {
public int minCost(String colors, int[] neededTime) {
int res = 0;
int prevTime = neededTime[0];
for (int i = 1; i < colors.length(); i++) {
if (colors.charAt(i) == colors.charAt(i - 1)) {
res += Math.min(prevTime, neededTime[i]);
prevTime = Math.max(prevTime, neededTime[i]);
} else {
prevTime = neededTime[i];
}
}
return res;
}
}
-----------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.100.73.13 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1703647142.A.B25.html
→
12/27 11:20,
1年前
, 1F
12/27 11:20, 1F
→
12/27 11:27,
1年前
, 2F
12/27 11:27, 2F
討論串 (同標題文章)
完整討論串 (本文為第 586 之 719 篇):