ホームページ  >  記事  >  バックエンド開発  >  ウォーターボトル

ウォーターボトル

王林
王林オリジナル
2024-07-17 08:48:51341ブラウズ

1518年。水筒

簡単

numBottles のウォーターボトルには、最初は水が入っています。市場で購入した numExchange の空の水ボトルと、満杯の水ボトル 1 本を交換できます。

満水のボトルを飲むという操作は、それを空のボトルに変えます。

2 つの整数 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;
    }
}
  • LinkedIn
  • GitHub

以上がウォーターボトルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。