加油站-贪心134-python
class Solution:def canCompleteCircuit(self, gas, cost):# 如果总加油量小于总耗油量,那一定无法行驶一周# 反之则一定可以行驶一周if sum(gas) < sum(cost):return -1'''算法思路:如果x到不了y+1(但能到y),那么从x到y的任一点出发都不可能到达y+1。因为从其中任一点出发的话,相当于从0开始加油,而如果从x出发到该点则一定还有剩余的油。既然不从0开始都到不了y+1,那么从0开始就更不可能到达y+1了。变量:n:加油站数量。start:假定的起点。end:以start为起点所能到达的终点。rest:到达某加油站后剩余的汽油while循环:1. mid相当于行驶途中到达的加油站,不能直接用end是因为end可能大于n-1而造成数组下标溢出;2. 到达一个地铁站,rest算一下这一站的加油和下一站的耗油,end += 1;3. 当rest < 0,说明从start到不了end,则将start置为end;4. 当end > n-1 且 end % n == start时,说明汽车从起点成功行驶一周,返回start即可'''start = 0end = 0n = len(gas)rest = 0while start < n:mid = end % nrest += gas[mid] - cost[mid]end += 1if rest < 0:start = endrest = 0if end > n - 1 and end % n == start:return start
加油站-贪心134-python相关推荐
- 168. Leetcode 134. 加油站 (贪心算法-模拟题目)
class Solution:def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:cur_rest_acc ...
- 贪心问题(Python代码实现)——磁带最优存储问题
文章目录 磁带最优存储问题 贪心策略 问题模型 python实现代码 Python知识小结 关于Python sort sort()与sorted()的区别 今早任务--贪心算法,Python代码实现 ...
- leetcode2021年度刷题分类型总结(八)贪心 (python)
贪心算法并没有固定的套路,就是如何通过局部最优,推出整体最优.一般分为如下四步: 将问题分解为若干个子问题 找出适合的贪心策略 求解每一个子问题的最优解 将局部最优解堆叠成全局最优解 例一:455.分 ...
- leetcode 分饼干 贪心算法python
描述 样例 样例1: 输入:[1,2,3], [1,1] 输出:1 说明:你有三个孩子和两块饼干,三个孩子的贪吃指数分别是1,2,3 虽然你有两块饼干,但是因为它们的大小都为1,你只能满足让贪吃指数为 ...
- LeetCode 670 最大交换 (暴力+贪心、Python)
同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maxim ...
- python第八周项目_贪心学院Python训练营第八周-数据可视化
写在最前面 正好最近在写论文,需要对语料库进行一些数据分析.所以也在琢磨着Python的一些关于数据可视化和数理统计分析方面的库. 学校里的论文数据分析指导课教我们的一般都是R.SPSS居多.很多人会 ...
- “Python字符串index()方法应用案例”文末三道思考题答案
问题链接:Python字符串index()方法应用案例一则 本文给出上文文末三个思考题的参考答案,当然,这些答案不是唯一的,也不是最高效的,只是演示字符串方法和内置函数的用法,并且在原题代码上做最少的 ...
- Python使用正则表达式检查书稿中不应该出现的重复字
问题描述:在编写书稿和反复修改书稿时,很容易有多字的情况,例如"用户的的资料"."需要需要用户输入",这些不小心的错误用肉眼很难完全发现.但是设定好规则之后,代 ...
- Python正则表达式案例一则:单词非两端字符改为小写
问题描述:给定一段英文,要求把其中所有单词除两端字符之外的其他字母都改为小写. 技术要点: 1)re模块的sub()函数用法: 2)match对象的group()方法. 参考代码: 运行结果: abc ...
最新文章
- P7116-[NOIP2020]微信步数【数学】
- apache禁止多目录运行php文件下载,Nginx Apache下如何禁止指定目录运行PHP脚本
- OpenShift 4 - 使用Operator安装Gitea
- Python JSONPath示例
- Highcharter绘制中国地图
- 如何去除计算机病毒,怎么清除计算机病毒
- 百度云 图片搜索(JavaAipImageSearch)
- zotero配合坚果云和papership进行文献管理
- duplicate designator is not allowedC/C++(2906)
- 订单超过 7 天不允许退货
- python输入数据带单位_python – Pandas用单位插入数据
- @media only screen and
- 使用OpenLayers根据经纬度对地图进行单个标点,以及点击标点弹框的实现(没有从后台获取经纬度数据)
- BJDCTF 2nd 刷题记录
- 眼动数据中瞳孔大小这个数据怎么用?
- 词法分析——词法分析的任务
- 《吴恩达深度学习》编程作业-第二周
- c语言怎么做步骤循环,C语言基础教程之循环
- 数据库里怎样根据出生日期计算精确年龄
- 成都百知教育跨境电商人物专访| Shopee大卖“朔风”