Gas Station
2017-05-23 14:53
274 查看
Gas Station
There are N gas stations along a circular route, where the amount of gas at station i is
You have a car with an unlimited gas tank and it costs
its next station (i+1). You begin the journey with an empty tank at one of the gas stations.
Return the starting gas station's index if you can travel around the circuit once, otherwise return -1.
Note:
The solution is guaranteed to be unique.
解析:
从起点开始当油量小于0时,下个点为起点
答案:
class Solution {
public:
int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
vector<int>v(gas.size(),0);
int sum=0;
for (int i=0; i<gas.size(); i++)
{
v[i]=gas[i]-cost[i];
sum+=v[i];
}
if (sum<0) return -1;
int ans=0;
sum=0;
for (int i=0; i<v.size(); i++)
{
if ((sum)>0)
{
sum+=v[i];
}
else{
ans=i;
sum=v[i];
}
}
return ans;
}
};
There are N gas stations along a circular route, where the amount of gas at station i is
gas[i].
You have a car with an unlimited gas tank and it costs
cost[i]of gas to travel from station i to
its next station (i+1). You begin the journey with an empty tank at one of the gas stations.
Return the starting gas station's index if you can travel around the circuit once, otherwise return -1.
Note:
The solution is guaranteed to be unique.
解析:
从起点开始当油量小于0时,下个点为起点
答案:
class Solution {
public:
int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
vector<int>v(gas.size(),0);
int sum=0;
for (int i=0; i<gas.size(); i++)
{
v[i]=gas[i]-cost[i];
sum+=v[i];
}
if (sum<0) return -1;
int ans=0;
sum=0;
for (int i=0; i<v.size(); i++)
{
if ((sum)>0)
{
sum+=v[i];
}
else{
ans=i;
sum=v[i];
}
}
return ans;
}
};
相关文章推荐
- [leetcode刷题系列]Gas Station
- 【Leetcode】Gas Station
- 浙大PAT 1072题 1072. Gas Station
- Gas Station
- Leetcode Gas Station
- [leetcode] Gas Station
- leedcode做题总结,题目Gas Station-------- 2013/09/28
- LeetCode: Gas Station
- Gas Station
- [LeetCode] Gas Station
- LeetCode Gas Station
- 【LeetCode】Gas Station
- [LeetCode] Gas Station
- 1072. Gas Station (30)
- leetcode 日经贴,python code -Gas Station
- Gas Station
- Gas Station
- PAT (Advanced Level) 1072. Gas Station (30) Dijkstra最短路径+剪枝
- 1072. Gas Station (30)
- 134. Gas Station (Array; DP)