134. 加油站
解法一:暴力
class Solution:
def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:
n = len(gas)
for i in range(n):
if gas[i] - cost[i] < 0:
continue
#找到出发处
start = j = i #记录起始位置
remain = 0
#遍历到i-1处
while j%n != (i-1)%n:
remain += gas[j%n] - cost[j%n]
if remain < 0:
break
j += 1
#若能回到出发点
if remain + gas[j%n] - cost[j%n] >= 0:
return start
return -1解法二:贪心法
最后更新于