134.Gas Station

    /*
     * 134.Gas Station
     * 2016-5-22 by Mingyang
     * 主要破题点在于,要保证可以绕地球一圈的关键就是所有的gas和所有的cost相减的时候
     * 最终的结果是大于0的,那么这样的话,我们就可以最后来判断到底有没有值
     * 而对于start index的判断就是遇到过不去的点就跳到下一个作为起始点
     */
    public int canCompleteCircuit(int[] gas, int[] cost) {
        int len=gas.length;
        int sum=0;
        int accumulate=0;
        int start=0;
        for(int i=0;i<len;i++){
            if(accumulate+gas[i]-cost[i]<0){
                start=i+1;
                accumulate=0;
            }else{
               accumulate=accumulate+ gas[i]-cost[i];
            }
            sum+=gas[i]-cost[i];
        }
        if(sum<0)
          return -1;
        return start;
    }
原文地址:https://www.cnblogs.com/zmyvszk/p/5518645.html