每日一题 1921. 消灭怪物的最大数量

难度:中等
每日一题 1921. 消灭怪物的最大数量_第1张图片
思路:

  1. 已知速度和距离,可求时间
  2. 必定先消灭时间最短的怪物
  3. 求得时间数组排序,只要在第 i 秒时,time[i] > i ,那么就可以消灭第 i 个怪物

代码:

class Solution:
    def eliminateMaximum(self, dist: List[int], speed: List[int]) -> int:
        res = len(dist)
        time = [a/b for a,b in zip(dist,speed)]
        time.sort()
        for i in range(1, len(time)):
            if time[i] <= i:
                res = i
                break

        return res

既然 break 后就是 return ,那么可以直接 return,可以少一个变量,代码更简洁

你可能感兴趣的:(用Python刷力扣,算法,leetcode,python)