难度:中等
思路:
- 已知速度和距离,可求时间
- 必定先消灭时间最短的怪物
- 求得时间数组排序,只要在第 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 = ibreakreturn res
既然 break 后就是 return ,那么可以直接 return,可以少一个变量,代码更简洁