Bouteilles d'eau

王林
王林original
2024-07-17 08:48:51410parcourir

1518. Bouteilles d'eau

Facile

Il existe des bouteilles d'eau numBottles qui sont initialement remplies d'eau. Vous pouvez échanger de nombreuses bouteilles d'eau vides du marché contre une bouteille d'eau pleine.

L'opération consistant à boire une bouteille d'eau pleine la transforme en une bouteille vide.

Étant donné les deux entiers numBottles et numExchange, renvoie le nombre maximum de bouteilles d'eau que vous pouvez boire.

Exemple 1 :

Water Bottles

  • Entrée : numBottles = 9, numExchange = 3
  • Sortie : 13
  • Explication : Vous pouvez échanger 3 bouteilles vides contre 1 bouteille d'eau pleine. Nombre de bouteilles d'eau que vous pouvez boire : 9 + 3 + 1 = 13.

Exemple 2 :

Water Bottles

  • Entrée : numBottles = 15, numExchange = 4
  • Sortie : 19
  • Explication : Vous pouvez échanger 4 bouteilles vides contre 1 bouteille d'eau pleine. Nombre de bouteilles d'eau que vous pouvez boire : 15 + 3 + 1 = 19.

Contraintes :

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

Solution :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn