LeetCode 每日一题 ---- 【2739.总行驶距离】

时间:2024-04-28 07:19:10

LeetCode 每日一题 ---- 【2739.总行驶距离】

  • 2739.总行驶距离
    • 解题方法:模拟

2739.总行驶距离

解题方法:模拟

根据题意进行模拟,主邮箱每减少 5 升油,汽车就可以行驶 10 公里,同时副油箱需要向主油箱注入 1 升油,需要注意的是,副油箱中的油可能会出现不足的情况。

class Solution {
    public int distanceTraveled(int mainTank, int additionalTank) {
        int ans = 0;
        while (mainTank >= 5) {
            int pre = mainTank / 5;
            ans += pre * 5 * 10;
            mainTank -= pre * 5;
            if (additionalTank > 0) {
                if (additionalTank >= pre) mainTank += pre;
                else mainTank += additionalTank;
                additionalTank -= pre;
            }
        }
        return ans + mainTank * 10;
    }
}

时间复杂度:
O(mainTank / 5)

空间复杂度:
O(1)