DDSA
Advertisement

3100. Water Bottles II

Approach

Simulate; each round trade numExchange empties for 1 full; numExchange increments each trade.

3100.cs
C#
// Approach: Simulate; each round trade numExchange empties for 1 full; numExchange increments each trade.
// Time: O(sqrt(n)) Space: O(1)

class Solution
{
    public int MaxBottlesDrunk(int numBottles, int numExchange)
    {
        int ans = numBottles;

        while (numBottles >= numExchange)
        {
            numBottles = (numBottles - numExchange + 1);
            ++numExchange;
            ++ans;
        }

        return ans;
    }
}
Advertisement
Was this solution helpful?