2739.总行驶距离
链接:2739.总行驶距离
难度:Easy
标签:数学、模拟
简介:卡车有两个油箱。给你两个整数,mainTank 表示主油箱中的燃料(以升为单位),additionalTank 表示副油箱中的燃料(以升为单位)。该卡车每耗费 1 升燃料都可以行驶 10 km。每当主油箱使用了 5 升燃料时,如果副油箱至少有 1 升燃料,则会将 1 升燃料从副油箱转移到主油箱。返回卡车可以行驶的最大距离。
题解 1 - rust
- 编辑时间:2023-06-18
- 执行用时:4ms
- 内存消耗:2MB
- 编程语言:rust
- 解法介绍:同上。
impl Solution {
    pub fn distance_traveled(mut main_tank: i32, mut additional_tank: i32) -> i32 {
        let mut used = 0;
        let mut res = 0;
        while main_tank != 0 {
            used += 1;
            main_tank -= 1;
            res += 10;
            if used % 5 == 0 && additional_tank != 0 {
                main_tank += 1;
                additional_tank -= 1;
            }
        }
        res
    }
}
题解 2 - cpp
- 编辑时间:2023-06-18
- 执行用时:8ms
- 内存消耗:5.9MB
- 编程语言:cpp
- 解法介绍:遍历。
class Solution {
public:
    int distanceTraveled(int mainTank, int additionalTank) {
        int used = 0, res = 0;
        while (mainTank) {
            used++;
            mainTank--;
            res += 10;
            if (used % 5 == 0 && additionalTank) {
                mainTank++;
                additionalTank--;
            }
        }
        return res;
    }
};
题解 3 - python
- 编辑时间:2023-06-18
- 执行用时:104ms
- 内存消耗:16.2MB
- 编程语言:python
- 解法介绍:同上。
class Solution:
    def distanceTraveled(self, mainTank: int, additionalTank: int) -> int:
        used = res = 0
        while mainTank:
            used+=1
            mainTank-=1
            res+=10
            if used % 5 == 0 and additionalTank:
                mainTank+=1
                additionalTank-=1
        return res
题解 4 - python
- 编辑时间:2024-04-25
- 执行用时:58ms
- 内存消耗:16.45MB
- 编程语言:python
- 解法介绍:遍历。
class Solution:
    def distanceTraveled(self, mainTank: int, additionalTank: int) -> int:
        res = 0
        while mainTank >= 5:
            res += 5 * 10
            mainTank -= 5
            if additionalTank:
                mainTank += 1
                additionalTank -= 1
        return res + mainTank * 10