leetCode算法题
java代码实现换酒问题
题目描述
小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。
如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。
请你计算 最多 能喝到多少瓶酒。
示例 1:
输入:numBottles = 9, numExchange = 3
输出:13
解释:你可以用 3 个空酒瓶兑换 1 瓶酒。
所以最多能喝到 9 + 3 + 1 = 13 瓶酒。
示例 2:
输入:numBottles = 15, numExchange = 4
输出:19
解释:你可以用 4 个空酒瓶兑换 1 瓶酒。
所以最多能喝到 15 + 3 + 1 = 19 瓶酒。
示例 3:
输入:numBottles = 5, numExchange = 5
输出:6
示例 4:
输入:numBottles = 2, numExchange = 3
输出:2
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/water-bottles
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
代码实现
代码如下(示例):
class Solution {
public int numWaterBottles(int numBottles, int numExchange) {
int i = numBottles/numExchange;//总共可以兑换的啤酒
int left = numBottles - i*numExchange+i;//剩余啤酒
int j = 0;
while(i>0){
j = j+i;
i = left /numExchange;
left = left - i*numExchange+i;
}
return numBottles+j;
}
}
代码解释
暴力解法 计算所有的瓶子可以兑换几瓶啤酒,然后再用剩下的瓶子去计算可以兑换的啤酒数,一直循环直到不能兑换了,累加起来就是可以兑换的啤酒再加上一开始的所有的啤酒,就是总共可以喝到的啤酒数
本文介绍LeetCode上的一道算法题——换酒问题,通过Java代码实现来解决如何用空酒瓶兑换新酒,从而计算最多能喝到的酒瓶数。示例展示了不同输入情况下,计算过程和结果。
1451

被折叠的 条评论
为什么被折叠?



