LC 0853 [M] Car Fleet - ALawliet/algorithms GitHub Wiki
class Solution:
def carFleet(self, target: int, position: List[int], speed: List[int]) -> int:
pair = [[p, s] for p, s in zip(position, speed)]
stack = []
for p, s in sorted(pair, reverse=True):
d = target - p
t = d / s # d = r*t, t = d/r
stack.append(t)
if len(stack) >= 2 and stack[-1] <= stack[-2]: # collision
stack.pop() # reduce car fleets
return len(stack)