Re: [闲聊] 每日LeetCode

楼主: pandix (面包屌)   2022-10-03 09:37:14
※ 引述《fxfxxxfxx (爱丽丝)》之铭言:
: 今天的每日一题:
: 1578. Minimum Time to Make Rope Colorful
: 爱丽丝有一排有颜色的气球,要移除一些气球让相邻的气球都不同色
: 每个气球会有相应所需的移除时间,回传所需要的最短时间
: 输入:
: colors: 代表气球的颜色,例如 "rrggbbb"
: neededTime: 代表该气球所需的移除时间,例如 [1,2,3,4,5,6,7]
: 在这个例子会需要移除成 ".r.g..b",总共要花 1 + 3 + 5 + 6 = 15
感觉是很简单的greedy 作法也差不多
连续相同颜色的气球只有移除时间最长的有资格留着
其他都加到output里
class Solution:
def minCost(self, colors: str, neededTime: List[int]) -> int:
n = len(colors)
currcolor, currmax = colors[0], neededTime[0]
res = 0
for i in range(1, n):
if currcolor != colors[i]:
currcolor = colors[i]
currmax = neededTime[i]
else:
res += min(currmax, neededTime[i])
currmax = max(currmax, neededTime[i])
return res
作者: PogChampLUL (火车站肥宅)   2022-10-03 09:39:00
你板人均coding大师
作者: Ericz7000 (Ericz7000nolan)   2022-10-03 09:41:00
大家都会coding
作者: Jaka (Jaka)   2022-10-03 09:42:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com