zoukankan      html  css  js  c++  java
  • python 小练习

    一个环形的公路上有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日志设置[logging]
    python异常处理
    python可迭代对象、迭代器、生成器
    python字典操作
    python列表和元组的操作
    python字符串操作
    python深拷贝和浅拷贝
    python时间和日期的处理
    ssh
    SSH安全外壳协议
  • 原文地址:https://www.cnblogs.com/cunyusup/p/7136045.html
Copyright © 2011-2022 走看看