码迷,mamicode.com
首页 > 编程语言 > 详细

python 小练习

时间:2017-07-08 11:28:44      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:加油站   有一个   ==   需要   整数   存在   pytho   gas   []   

一个环形的公路上有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 小练习

标签:加油站   有一个   ==   需要   整数   存在   pytho   gas   []   

原文地址:http://www.cnblogs.com/cunyusup/p/7136045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!