[算法思考记录]力扣1094.拼车 Java
Problem: 1094. 拼车
相当于在一条路上开车,乘客在某个时间点上车,他们会影响在下车之前的路程的车载人数。
很明显这是差分的做法,只要把行车的路程抽象成一个差分数组,把上下车抽象成区间更改,一切都变得简单
Code
class Solution {
public boolean carPooling(int[][] trips, int capacity) {
int[] road = new int[1010];
for (int[] t : trips) {
int num = t[0], from = t[1], to = t[2];
road[from] += num;
road[to] -= num;
}
int s = 0;
for (int v : road) {
s += v;
if (s > capacity) return false;
}
return true;
}
}