程式語言 - LeetCode - C++ - 134. Gas Station



題目:


解答:

class Solution {
public:
    int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
        int ans = 0;
        int sum = 0;
        int total = 0;

        for (int i = 0; i < gas.size(); ++i) {
            int d = gas[i] - cost[i];

            sum += d;
            total += d;
            if (sum < 0) {
                ans = i + 1;
                sum = 0;
            }
        }

        return total < 0 ? - 1 : ans;
    }
};