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