本文主要是介绍初学python记录:力扣2739. 总行驶距离,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
卡车有两个油箱。给你两个整数,mainTank
表示主油箱中的燃料(以升为单位),additionalTank
表示副油箱中的燃料(以升为单位)。
该卡车每耗费 1
升燃料都可以行驶 10
km。每当主油箱使用了 5
升燃料时,如果副油箱至少有 1
升燃料,则会将 1
升燃料从副油箱转移到主油箱。
返回卡车可以行驶的最大距离。
注意:从副油箱向主油箱注入燃料不是连续行为。这一事件会在每消耗 5
升燃料时突然且立即发生。
思考:
最简单的一集.jpg
算法如下:
1. 主油箱燃料不为空且小于5升:说明不能从副油箱转移燃料,行驶距离+主油箱燃料*10 即为答案
2. 主油箱燃料大于等于5升:说明可以从副油箱转移燃料,行驶距离+50,主油箱燃料-5。若副油箱有燃料,则副油箱燃料-1,主油箱燃料+1。重复步骤1,2至得到答案为止。
代码如下:
class Solution(object):def distanceTraveled(self, mainTank, additionalTank):""":type mainTank: int:type additionalTank: int:rtype: int"""ans = 0while mainTank > 0:if mainTank < 5:ans += mainTank * 10breakelse:ans += 50mainTank -= 5if additionalTank > 0:additionalTank -= 1mainTank += 1return ans
提交通过:
这篇关于初学python记录:力扣2739. 总行驶距离的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!