LeetCode-Python-134. 加油站

在环形路线上,有N个加油站,每个站有不同汽油量和消耗量。汽车从任一站出发,油箱容量无限。如果能绕行一周,则返回起点站编号,否则返回-1。例如,当gas=[1,2,3,4,5],cost=[3,4,5,1,2]时,出发点为3号站。" 112476907,10539257,i.MX8MQ核心板低功耗音频播放实现,"['嵌入式开发', 'Linux驱动', '音频处理', '功耗管理', 'NXP处理器']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。

你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。

如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。

说明:

如果题目有解,该答案即为唯一答案。
输入数组均为非空数组,且长度相同。
输入数组中的元素均为非负数。

示例 1:
输入:
gas = [1,2,3,4,5]
cost = [3,4,5,1,2]
输出: 3

示例 2:
输入:
gas = [2,3,4]
cost = [3,4,3]
输出: -1

def gas_cost(gas, cost):
    for i, item in enumerate(gas):
        # modify list first
        ng = gas[i:] + gas[:i]
        nc = cost[i:] + cost[:i]
        j = 0
        tmp = 0
        # judge step
        while j < len(ng):
            tmp = ng[j] + tmp - nc[j]
            if tmp < 0:
                break  
            j += 1
        if j == len(ng):
            return i
    return -1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值