LeetCode LCP 55. 采集果实缩略图

欢迎各位勇者来到力扣新手村,本次训练内容为「采集果实」。

在新手村中,各位勇者需要采集一些果实来制作药剂。time[i] 表示勇者每次采集 1~limit 颗第 i 种类型的果实需要的时间(即每次最多可以采集 limit 颗果实)。

当前勇者需要完成「采集若干批果实」的任务, fruits[j] = [type, num] 表示第 j 批需要采集 num 颗 type 类型的果实。采集规则如下:

  • 按 fruits 给定的顺序依次采集每一批次
  • 采集完当前批次的果实才能开始采集下一批次
  • 勇者完成当前批次的采集后将清空背包(即多余的果实将清空)

请计算并返回勇者完成采集任务最少需要的时间。

LCP 55. 采集果实 – 力扣(Leetcode)

LeetCode LCP 55. 采集果实插图
OpenCV步步精深-可心科创工作室

思路:

重点在于搞清楚时间。

python3实现:

class Solution:
    def getMinimumTime(self, time: List[int], fruits: List[List[int]], limit: int) -> int:
        # 题意:time列表表示采集第几类水果需要的时间
        #      fruits列表表示采集第几批需要花费的时间
        #      limt用来计算采集次数
        all_time = 0
        for elem in fruits:
            
            if elem[1] % limit != 0:
                cishu = elem[1] // limit + 1
            else:
                cishu = elem[1] // limit
            cost_time = cishu * time[elem[0]]
            all_time += cost_time
        return all_time
LeetCode LCP 55. 采集果实插图1
OpenCV步步精深-可心科创工作室

更多干货见 OpenCV步步精深

作者 admin

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注