1094. Car Pooling


Car Pooling

题解

记$ tripk (z_k,s_k,t_k) x[0…n-1],y[0…n-1]使x{sk}=z_k,y{t_k}=z_k$

设在位置时,车里的乘客的数量是,则

其中分别为在位置上车和下车的乘客数。

于是问题转化为,根据差分数组,恢复数组

Java实现

class Solution{
    public boolean carPooling(int[][] trips,int capacity){
        int[] diff = new int[1001];
        for(int[] t:trips){
            diff[t[1]]+=t[0];
            diff[t[2]]-=t[0];
        }
        int total = 0;
        for(int c:diff){
            total+=c;
            if(total>capacity){
                return false;
            }
        }
        return true;
    }
}

文章作者: 黄培
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 黄培 !
  目录