LeetCode(力扣)134. 加油站Python

news2025/1/20 11:01:46

LeetCode134. 加油站

    • 题目链接
    • 代码

题目链接

https://leetcode.cn/problems/gas-station/description/
在这里插入图片描述

代码

class Solution:
    def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:
        cursum = 0
        minfuel = float('inf')
        for i in range(len(gas)):
            rest = gas[i] - cost[i]
            cursum += rest
            if cursum < minfuel:
                minfuel = cursum
        
        if cursum < 0:
            return -1
        if minfuel >= 0:
            return 0

        for i in range(len(gas) - 1, -1, -1):
            rest = gas[i] - cost[i]
            minfuel += rest
            if minfuel >= 0:
                return i
        
class Solution:
    def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:
        cursum = 0
        total = 0
        start = 0

        for i in range(len(gas)):
            cursum += gas[i] - cost[i]
            total += gas[i] - cost[i]
            
            if cursum < 0:
                start = i + 1
                cursum = 0
        if total < 0:
            return -1
        return start

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1007522.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode刷题_栈相关_c++版

&#xff08;1&#xff09;225用栈实现队列–简单 请你仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 实现 MyStack 类&#xff1a; void push(int x) 将元素 …

任务长期不释放和占用单节点持续的cpu,导致hivesever2本身内存泄漏造成

任务长期不释放和占用单节点持续的cpu&#xff0c;导致hivesever2本身内存泄漏造成 产生的原因在于&#xff1a; 查询过于复杂或者数据量过大&#xff1a;当有复杂的查询或处理大量数据的请求时&#xff0c;HiveServer2可能会出现高负载。这可能涉及大量的计算、IO操作或涉及大…

支付宝小程序排名优化,一个小白的成长手记

那是一个风和日丽的周末早上,阳光透过窗帘洒进屋内,温暖了我的双脚。这是我加入新公司的第一个周末,我坐在桌前,满怀激情地准备开发我的第一个支付宝小程序。【名即薇】 经过两天两夜的奋战,我终于完成了一个初版的支付宝小程序。是一个集美食资讯、餐厅点评、外卖订餐于一体的…

Springboot整合整合Swagger3

常用注解 Api&#xff1a;用在请求的类上&#xff0c;表示对类的说明 tags“说明该类的作用&#xff0c;可以在UI界面上看到的注解”value“该参数没什么意义&#xff0c;在UI界面上也看到&#xff0c;所以不需要配置” ApiOperation&#xff1a;用在请求的方法上&#xff0c;…

【嵌入式】化繁为简 UART、I2C、SPI整理

本文参考&#xff1a;浅谈单片机通信&#xff0c;化繁为简UART、I2C、SPI学习全家桶&#xff0c;你值得拥有&#xff01;_哔哩哔哩_bilibili 单片机的数据都是以0、1发送的&#xff0c;每一位发送多少时间取决于波特率 。 波特率是发送二进制数据位的速率&#xff0c;单位是b…

认识数据分析

文章目录 1. 认识数据分析1.1 数据自身的三大属性1.2 建数仓 数据分析的工程技术1.3 数据分析解决问题的原理1.4 数据分析的具体流程1.5 数据的中心化和智能化1.6 数据分析的四种类型和六个方向 1. 认识数据分析 1.1 数据自身的三大属性 客观&#xff1a;用数字衡量和表现一件…

vue2+three.js+blender(实现3d 模型引入并可点击效果)

2023.9.13今天我学习了如何把3d建模里面的模型引入到vue中&#xff0c;并可以实现拖动&#xff0c;点击的效果&#xff1a; 首先安装&#xff1a; npm install three 相关代码如下&#xff1a; <!--3d基础版&#xff0c;实现单个3d图形--> <template><div>&…

【服务器】ASUS ESC4000-E11 安装系统

ASUS ESC4000-E11说明书 没找到 ASUS ESC4000-E11的说明书&#xff0c;下面是ESC4000A-E11的说明书&#xff1a; https://manualzz.com/doc/65032674/asus-esc4000a-e11-servers-and-workstation-user-manual 下载地址&#xff1a; https://www.manualslib.com/manual/231379…

【PTA】PAT(甲级)2022年冬季考试自测

个人学习记录&#xff0c;代码难免不尽人意。 这次考试&#xff0c;e&#xff0c;第一题我看好多人都没理解题意做错了&#xff0c;还有第四题真的是比较意外&#xff0c;之前做的题都是给序列建树&#xff0c;但是这次让判断是否可以生成树&#xff0c;之前从来没有遇到过这类…

leecode 每日一题 2596. 检查骑士巡视方案

2596. 检查骑士巡视方案 骑士在一张 n x n 的棋盘上巡视。在 有效 的巡视方案中&#xff0c;骑士会从棋盘的 左上角 出发&#xff0c;并且访问棋盘上的每个格子 恰好一次 。 给你一个 n x n 的整数矩阵 grid &#xff0c;由范围 [0, n * n - 1] 内的不同整数组成&#xff0c;其…

pyechart练习(一):画图小练习

1、使用Map制作全球人口分布图 import math import osimport matplotlib.pyplot as plt from pyecharts.charts import Map from pyecharts import options as opts# 只有部分国家的人口数据 POPULATION [["China", 1420062022], ["India", 1368737513],…

【C++】拷贝构造函数调用时机 ② ( 对象值作为函数参数 | 对象值作为函数返回值 )

文章目录 一、拷贝构造函数概念二、对象值作为函数参数1、拷贝构造函数调用情况说明2、代码示例 - 对象值作为函数参数 三、对象值作为函数返回值1、拷贝构造函数调用情况说明2、代码示例 - 对象值作为函数返回值 博客总结 : " 拷贝构造函数 " 又称为 " 赋值构…

MySQL之分布式事务

写在前面 当数据库进行了分库分表 之后为了保证数据的一致性。不可变的就需要引入跨数据的事务解决方案&#xff0c;这种解决方案我们叫做分布式事务。本文就一起来看下分布式事务相关的内容。 在8.0 版本上学习。 1&#xff1a;实战 为了能够更好的理解理论知识&#xff0c;…

基于SSM的中小型企业财务管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

C++项目实战——基于多设计模式下的同步异步日志系统-②-前置知识补充-不定参函数

文章目录 专栏导读不定参函数C风格不定参函数不定参宏函数 专栏导读 &#x1f338;作者简介&#xff1a;花想云 &#xff0c;在读本科生一枚&#xff0c;C/C领域新星创作者&#xff0c;新星计划导师&#xff0c;阿里云专家博主&#xff0c;CSDN内容合伙人…致力于 C/C、Linux 学…

数据分析三剑客之Matplotlib

0.Matplotlib绘图和可视化 1.简介 我的前面两篇文章介绍了 Nimpy &#xff0c;Pandas 。今天来介绍一下Matplotlib。 简单来说&#xff0c;Matplotlib 是 Python 的一个绘图库。它包含了大量的工具&#xff0c;你可以使用这些工具创建各种图形&#xff0c;包括简单的散点图&…

Java多线程并发面试题

文章目录 Java并发基础并行和并发有什么区别&#xff1f;说说什么是进程和线程&#xff1f;Java线程创建方式&#xff1f;Runnable和Callable接口的区别&#xff1f;为什么调用start()方法时会执行run()方法&#xff0c;不直接调用run()方法&#xff1f;sleep()和wait()的区别&…

预约陪诊就诊小程序源码多城市开发版

陪诊小程序多城市版开发 小程序支持多城市开通&#xff0c;支持创建陪诊团队以及提成奖励设置&#xff0c;可以定义多种服务类型&#xff0c;订单流程简单明了&#xff0c;支持陪诊师手机端订单处理&#xff0c;家政类目可以轻松过审。 小程序市场前景&#xff1a; 人口老龄化…

强大:dynamsoft-barcode-reader-dotnet-9.6.30 Crack

dynamsoft-barcode-reader-dotnet 具有灵活 API 的强大条码扫描器 SDK 无论它是扭曲的、黑暗的、遥远的、模糊的、批量的还是移动的&#xff0c;我们都可以扫描它。速度快 条码扫描速度每分钟500 业界最快的扫描解码&#xff0c;可应用于不同场景&#xff1a; 多个条形码/二维…

【VS2022】调试

F9 创建或取消断点 ctrlF9 禁用断点 F5 开始调试&#xff08;到断点处停下来&#xff09; F10 逐过程&#xff08;不进入函数&#xff09; F11 逐语句 F5、F10、F11都可以直接进入调试 【调试】->【窗口】->【监视】&#xff0c;输入变量就可以观察到变量的值。 …