题目链接
解题思路
- 假设一开始有
n
瓶酒,m
个空瓶可以换一瓶酒 - 首先一定可以喝到
n
瓶酒,剩下n
个空瓶。 - 然后可以拿瓶子换酒,每次拿出
m
个瓶子换一瓶酒 - 然后再喝完这瓶酒,得到一个空瓶
- 循环下去,直到空瓶换不了酒为止
AC代码
class Solution {
public int numWaterBottles(int numBottles, int numExchange) {
int ans = numBottles;
int bottle = numBottles;
while (bottle >= numExchange) {
bottle -= numExchange;
ans++;
bottle++;
}
return ans;
}
}
本地测试代码
package com.company;
public class Solution_1518 {
public static int numWaterBottles(int numBottles, int numExchange) {
int ans = numBottles;
int bottle = numBottles;
while (bottle >= numExchange) {
bottle -= numExchange;
ans++;
bottle++;
}
return ans;
}
public static void main(String[] args) {
System.out.println(numWaterBottles(9, 3));
System.out.println(numWaterBottles(15, 4));
System.out.println(numWaterBottles(5, 5));
System.out.println(numWaterBottles(2, 3));
}
}