leetcode

Leetcode Solutions (0x6A73)
git clone https://git.pngu.org/leetcode
Log | Files | Refs | Submodules | README

commit fe3b2be09b8b0cb82d2a40ee481fa74735dbf938
parent 01585d45e77abeb96336aac00896b11ad0298956
Author: Jack Sangdahl <jack@pngu.org>
Date:   Wed,  1 Oct 2025 22:16:25 -0600

3100. water bottles 2

Diffstat:
Awater_bottles2.c | 27+++++++++++++++++++++++++++
Awater_bottles2.py | 49+++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/water_bottles2.c b/water_bottles2.c @@ -0,0 +1,27 @@ +// 3100. Water Bottles II +#include "leetcode.h" + +/* + * you are given two integers 'numBottles' and 'numExchange'. 'numBottles' + * represents the number of full water bottoles that you are initially given. in + * one operation, you can perform one of the following operations: drink any + * number of full bottles, turning them into empty bottles, or exchange + * 'numExchange' empty bottles with one full water bottle, then increase + * 'numExchange' by 1. return the maximum number of water bottles you can drink + */ + +int maxBottlesDrunk(int numBottles, int numExchange) { + int ans = numBottles; + while (numBottles >= numExchange) { + numBottles -= numExchange; + ans++; + numExchange++; + numBottles++; + } + return ans; +} + +int main() { + printf("%d\n", maxBottlesDrunk(13, 6)); // expect: 15 + printf("%d\n", maxBottlesDrunk(10, 3)); // expect: 13 +} diff --git a/water_bottles2.py b/water_bottles2.py @@ -0,0 +1,49 @@ +# 3100. Water Bottles II + +""" +you are given two integers 'numBottles' and 'numExchange'. 'numBottles' +represents the number of full water bottoles that you are initially given. in +one operation, you can perform one of the following operations: drink any +number of full bottles, turning them into empty bottles, or exchange +'numExchange' empty bottles with one full water bottle, then increase +'numExchange' by 1. return the maximum number of water bottles you can drink +""" + + +class Solution(object): + def maxBottlesDrunk(self, numBottles, numExchange): + """ + :type numBottles: int + :type numExchange: int + :rtype: int + """ + + +class Solution(object): + def maxBottlesDrunk(self, numBottles, numExchange): + """ + :type numBottles: int + :type numExchange: int + :rtype: int + """ + ans = numBottles + while numBottles >= numExchange: + numBottles -= numExchange - 1 + numExchange += 1 + ans += 1 + return ans + + +if __name__ == "__main__": + ans = numBottles + while numBottles >= numExchange: + numBottles -= numExchange - 1 + numExchange += 1 + ans += 1 + return ans + + +if __name__ == "__main__": + obj = Solution() + print(obj.maxBottlesDrunk(13, 6)) + print(obj.maxBottlesDrunk(10, 3))