贪心算法:
1.环形路上有n个加油站,第i个加油站的汽油量是gas[i].
你有一辆车,车的油箱可以无限装汽油。从加油站i走到下一个加油站(i+1)花费的油量是cost[i],你从一个加油站出发,刚开始 的时候油箱里面没有汽油。
求从哪个加油站出发可以在环形路上走一圈。返回加油站的下标,如果没有答案的话返回-1。
思路:剩余油量gis[i]-cos[i],如果大于等于0,终点就往后移,直到最后终点又跑到了起点的位置;如果小于0,起点往前移
# @param gas int整型一维数组
# @param cost int整型一维数组
# @return int整型
#
class Solution:
def canCompleteCircuit(self , gas , cost ):
start = len(gas)-1
end = 0
sum = gas[start]-cost[start]
while end<start:
if sum>=0:
sum += gas[end]-cost[end]
end +=1
else:
start -=1
sum += gas[start]-cost[start]
return -1 if sum<0 else start