差分数组
参考:灵茶山艾府
class Solution:
def carPooling(self, trips: List[List[int]], capacity: int) -> bool:
diff = {}
for num, start, end in trips:
diff[start] = diff.get(start, 0) + num
diff[end] = diff.get(end, 0) - num
curNum = 0
for loc in sorted(diff.keys()):
curNum += diff[loc]
if curNum > capacity:
return False
return True