1518. 换酒问题 不断更新当前瓶子的个数
查看原题 https://leetcode-cn.com/problems/water-bottles/
解题思路
- 定义变量count表示可以喝的总瓶数,bottles表示当前有多少空瓶子
- 循环,不断将瓶子换酒在换酒,结束条件为当前的瓶子数小于能兑换一瓶酒的最小瓶子数
- 更新当前的瓶子数为换到的酒的数量加上不够一瓶酒的瓶子数
- 更新count的值
代码
|
/** |
|
* @param {number} numBottles |
|
* @param {number} numExchange |
|
* @return {number} |
|
*/ |
|
var numWaterBottles = function(numBottles, numExchange) { |
|
let count = numBottles;//可以喝多少瓶酒 |
|
let bottles = numBottles;//有多少瓶子 |
|
while (bottles >= numExchange){ |
|
let temp = Math.floor(bottles / numExchange);//当前的瓶子可以换多少瓶酒 |
|
bottles = temp + (bottles - temp * numExchange); |
|
count += temp; |
|
} |
|
return count; |
|
}; |