Leetcode每日一题 —— 最早完成陆地和水上游乐设施的时间 I

Leetcode每日一题 —— 最早完成陆地和水上游乐设施的时间 I
Leetcode每日一题 —— 最早完成陆地和水上游乐设施的时间 I

贪心,最早水上或者陆地(尽可能早点完成),之后遍历,时间复杂度:O(N)

class Solution:
    def earliestFinishTime(self, landStartTime: List[int], landDuration: List[int], waterStartTime: List[int], waterDuration: List[int]) -> int:
        ans = lf = wf = inf
        n1, n2 = len(landStartTime), len(waterDuration)
        for i in range(n1):
            lf = min(lf, landStartTime[i] + landDuration[i])
        for j in range(n2):
            ans = min(ans, max(lf, waterStartTime[j]) + waterDuration[j])

        for i in range(n2):
            wf = min(wf, waterStartTime[i] + waterDuration[i])
        for j in range(n1):
            ans = min(ans, max(wf, landStartTime[j]) + landDuration[j])
        return ans

1 个帖子 - 1 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文