当前位置: 首页 > article >正文

python-leetcode-加油站

134. 加油站 - 力扣(LeetCode)

class Solution:
    def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:
        n = len(gas)
        total_gas = 0
        total_cost = 0
        start = 0
        tank = 0

        for i in range(n):
            total_gas += gas[i]
            total_cost += cost[i]
            tank += gas[i] - cost[i]
            
            # 如果当前油箱小于0,从下一个加油站重新开始
            if tank < 0:
                start = i + 1
                tank = 0

        # 如果总汽油量大于等于总消耗量,则返回起点,否则返回 -1
        return start if total_gas >= total_cost else -1

 


http://www.kler.cn/a/471249.html

相关文章:

  • 路由器的转发表
  • 【Unity笔记】资源包导入后是洋红色(粉色)怎么办?
  • Python3 正则表达式
  • C++二十三种设计模式之迭代器模式
  • 面试经典150题——链表(二)
  • 【通识安全】煤气中毒急救的处置
  • VLMs之Agent之CogAgent:《CogAgent: A Visual Language Model for GUI Agents》翻译与解读
  • 《医院项目驻场半月记:从憧憬到反思的旅程》
  • AWS re:Invent 2024 现场实录 - It‘s all about Scale
  • Mac 安装psycopg2出错:Error:pg_config executable not found的解决
  • 黄仁勋演讲总结(2种显卡,1个开源大模型,1个数据采集平台)
  • 决策树模型与随机森林一文入门,原理、R语言示例
  • Kubernetes Ingress:流量管理的利器
  • 人工智能 前馈神经网络练习题
  • 文献阅读分享:跨域顺序推荐中的用户检索与大语言模型集成
  • L28.【LeetCode笔记】移动零(三种解法)
  • 基于Spring Boot的高校门禁管理系统
  • 【VUE】a链接下载跨域文件直接打开而非下载(解决办法)
  • Win11 上使用 Qume 搭建银河麒麟V10 arm版虚拟机
  • 国产编辑器EverEdit - 两种删除空白行的方法
  • LeetCode-合并 K 个升序链表(023)
  • Java后端常用的4种请求方式(通俗易懂)
  • 保险丝驱动电路·保险丝有什么用应该如何选型详解文章!!!
  • 一个奇怪的软件编译错误
  • 书籍推荐:Java 基础案例教程
  • 如何快速找到设备管理器?四种方法详解打开方式