class Solution {
public:
int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
int begin=0;
int gasv=0;
for(int i=0;i<gas.size();i++)
{
if(gas[i]>=cost[i])
begin=i;
if(f(begin,gas,cost,gasv))
return i;
}
return -1;
}
bool f(int i,vector<int>& gas,vector<int>& cost,int gasv){
for(int j=i;j<gas.size();j++)
{
gasv+=gas[j];
if(gasv<cost[j])
return false;
gasv-=cost[j];
}
for(int k=0;k<i;k++)
{
gasv+=gas[k];
if(gasv<cost[k])
return false;
gasv-=cost[k];
}
return true;
}
};
134. Gas Station
最新推荐文章于 2024-01-03 14:08:04 发布