1. 程式人生 > >python 小練習

python 小練習

判斷 [0 數字 for 任務 麻煩 保存 開車 完成

一個環形的公路上有n個加油站,編號為0,1,2,...n-1,
每個加油站加油都有一個上限,保存在列表limit中,即limit[i]為第i個加油站加油的上限,
而從第i個加油站開車開到第(i+1)%n個加油站需要cost[i]升油,cost為一個列表。
現在有一輛開始時沒有油的車,要從一個加油站出發繞這個公路跑一圈回到起點。
給你整數n,列表limit和列表cost,你來判斷能否完成任務。
如果能夠完成任務,輸出起始的加油站編號,如果有多個,輸出編號最小的。
如果不能完成任務,輸出-1。

gas=0
res=[]
for i in range(n):
gas=0
for j in range(n):
gas+=limit[(i+j)%n] %一開始用while來做比較麻煩
gas-=cost[(i+j)%n]
if gas<0:break
if gas>=0:
res.append(i)
if len(res)==0:print -1 %把所有可能的數字附加進列表,如果len == 0 ,就代表沒有可能的結果
else :print (res[0])

python 小練習