LC每日一题|20240425 - 2739. 总行驶距离
卡车有两个油箱。给你两个整数,
mainTank表示主油箱中的燃料(以升为单位),additionalTank表示副油箱中的燃料(以升为单位)。该卡车每耗费
1升燃料都可以行驶10km。每当主油箱使用了5升燃料时,如果副油箱至少有1升燃料,则会将1升燃料从副油箱转移到主油箱。返回卡车可以行驶的最大距离。
注意:从副油箱向主油箱注入燃料不是连续行为。这一事件会在每消耗
5升燃料时突然且立即发生。
提示:
1 <= mainTank, additionalTank <= 100
题目等级:Easy
解题思路
很简单的一道翻译题,直接看代码吧~
AC代码
class Solution {
fun distanceTraveled(mainTank: Int, additionalTank: Int): Int {
var m = mainTank
var a = additionalTank
var t = 0
var res = 0
while (m > 0) {
m--
res += 10
t += 1
if (t == 5 && a > 0) {
a--
m++
}
t %= 5
}
return res
}
}
时间复杂度:O(m+n),m、n分别表示mainTank和additionalTank。
空间复杂度:O(1),仅需要常数个变量。