134. Gas Station

Problem:

思路

Solution (C++):

int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
    int n = gas.size(), tank(0), start(0), lack(0);
    
    for (int i = 0; i < n; ++i) {
        tank += (gas[i] - cost[i]);
        if (tank < 0) {
            start = i+1;
            lack += tank;
            tank = 0;
        }
    }
    
    return (lack + tank < 0) ? -1: start;
}

性能

Runtime: 8 ms  Memory Usage: 9.1 MB

相关链接如下:

知乎:littledy

欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

作者:littledy
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/dysjtu1995/p/12300509.html