LC每日一题|20240425 - 2739. 总行驶距离

72 阅读1分钟

LC每日一题|20240425 - 2739. 总行驶距离

卡车有两个油箱。给你两个整数,mainTank 表示主油箱中的燃料(以升为单位),additionalTank 表示副油箱中的燃料(以升为单位)。

该卡车每耗费 1 升燃料都可以行驶 10 km。每当主油箱使用了 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),仅需要常数个变量。