leetCode_Gas Station

来源:互联网 发布:世强软件万能五笔 编辑:程序博客网 时间:2024/05/29 15:24

链接:https://leetcode.com/problems/gas-station/

题意:一个环形道路上有n个加油站,每个加油站有油gas[i],加油站之间的道路消耗油cost[i],一开始车的油为空,从哪个点开始走能把一圈走完?

解法:从0点开始算,起点应该为gas[i]-cost[i]之和最小的那个加油站的下一个加油站。代码如下:

class Solution {public:    int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {        int length=gas.size(),i,c=0,maxV,minV,mIndex=0;        if(length==0) return -1;        minV=gas[0]-cost[0];        for(i=0;i<length;i++)        {            c=c+gas[i]-cost[i];            if(c<minV)            {                minV=c;                mIndex=i;            }        }        if(c<0) return -1;        else return (mIndex+1)%length;    }};


0 0