首页 文章资讯内容详情

Python中的拼车

2026-06-04 1 花语

假设有一辆车辆最初有空座位供乘客使用。车辆仅向东行驶,因此我们无法转身向西行驶。我们给出了一个旅行列表,trip[i]=[num_passengers,start_location,end_location],其中包含有关第i次旅行的信息:,这就是必须上车的乘客人数以及上车地点放下在这里,位置以距我们车辆初始位置东边的公里数给出。当且仅当在所有给定行程中可以接送所有乘客时,我们的模块才会返回true。因此,如果行程像[[2,1,5],[3,3,7]]并且容量为5,则输出为true。

为了解决这个问题,我们将遵循以下步骤-

制作一个称为停靠点的数组,其大小为1000,并用0填充

为我旅行

Stops[i[1]]:=Stops[i[1]]+i[0]

Stops[i[2]]:=Stops[i[1]]–i[0]

对于我停下来-

容量:=容量–我

如果容量<0,则返回false

当容量>=0时返回true

让我们看下面的实现以更好地理解-

示例

class Solution(object): def carPooling(self, trips, capacity): stops = [0 for i in range(1001)] for i in trips: stops[i[1]]+=i[0] stops[i[2]]-=i[0] for i in stops: capacity-=i if capacity<0: return False return capacity>=0 ob = Solution() print(ob.carPooling([[2,1,5],[3,3,7]],5))

输入值

[[2,1,5],[3,3,7]] 5

输出结果

True