水瓶

王林
王林原创
2024-07-17 08:48:51368浏览

1518。水瓶

简单

有 numBottles 个水瓶最初装满了水。您可以在市场上用 numExchange 个空水瓶兑换一瓶满水。

喝满水瓶的操作会将其变成空瓶。

给定两个整数 numBottles 和 numExchange,返回您可以饮用的最大水瓶数。

示例1:

Water Bottles

  • 输入: numBottles = 9,numExchange = 3
  • 输出: 13
  • 说明:您可以用3个空瓶子换取1个满水瓶子。您可以饮用的水瓶数量:9 + 3 + 1 = 13。

示例2:

Water Bottles

  • 输入: numBottles = 15,numExchange = 4
  • 输出: 19
  • 说明:您可以用4个空瓶子换取1个满水瓶子。您可以饮用的水瓶数量:15 + 3 + 1 = 19。

约束:

  • 1
  • 2

解决方案:

class Solution {

    /**
     * @param Integer $numBottles
     * @param Integer $numExchange
     * @return Integer
     */
    function numWaterBottles($numBottles, $numExchange) {
        $totalDrunk = 0;
        $emptyBottles = 0;

        while ($numBottles > 0) {
            // Drink all the current full bottles
            $totalDrunk += $numBottles;

            // Collect the empty bottles
            $emptyBottles += $numBottles;

            // Exchange the empty bottles for new full ones
            $numBottles = floor($emptyBottles / $numExchange);
            $emptyBottles = $emptyBottles % $numExchange;
        }

        return $totalDrunk;
    }
}
  • 领英
  • GitHub

以上是水瓶的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn