Python中的拼车
假设有一辆车辆最初有空座位供乘客使用。车辆仅向东行驶,因此我们无法转身向西行驶。我们给出了一个旅行列表,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