[Leetcode] 1094. Car Pooling (C++)


質問する


1094. Car Pooling

コード#コード#

class Solution {
public:
    bool carPooling(vector<vector<int>>& trips, int capacity) {
        vector<int> v(1001, 0);
        
        for (auto trip : trips){
            v[trip[1]] += trip[0];
            v[trip[2]] -= trip[0];
        }
        
        int load = 0;
        for (int i = 0; i < v.size(); i++){
            if (v[i] == 0) continue;
            load += v[i];
            
            if (load > capacity) return false;
        }
        return true;
    }
};

に近づく


tripsの価格を基準に、和からの位置に乗客の数をそれぞれ加算して減算します.その後、格納値のベクトルを前から順に見ると、ある瞬間に容量以上の乗客が乗車していることがわかり、問題を解決することができます.