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)