Botol Air

王林
Lepaskan: 2024-07-17 08:48:51
asal
338 orang telah melayarinya

1518. Botol Air

Mudah

Ada botol air numBottles yang pada mulanya penuh dengan air. Anda boleh menukar botol air kosong numExchange dari pasaran dengan satu botol air penuh.

Pembedahan meminum sebotol air penuh mengubahnya menjadi botol kosong.

Memandangkan dua integer numBottles dan numExchange, kembalikan bilangan maksimum botol air yang boleh anda minum.

Contoh 1:

Water Bottles

  • Input: numBottles = 9, numExchange = 3
  • Output: 13
  • Penjelasan: Anda boleh menukar 3 botol kosong untuk mendapatkan 1 botol air penuh. Bilangan botol air yang anda boleh minum: 9 + 3 + 1 = 13.

Contoh 2:

Water Bottles

  • Input: numBottles = 15, numExchange = 4
  • Output: 19
  • Penjelasan: Anda boleh menukar 4 botol kosong untuk mendapatkan 1 botol air penuh. Bilangan botol air yang boleh anda minum: 15 + 3 + 1 = 19.

Kekangan:

  • 1 <= numBottles <= 100.
  • 2 <= numExchange <= 100

Penyelesaian:

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

Atas ialah kandungan terperinci Botol Air. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan