1、Algorithm
换水问题
超市正在促销,你可以用 numExchange 个空水瓶从超市兑换一瓶水。最开始,你一共购入了 numBottles 瓶水。
如果喝掉了水瓶中的水,那么水瓶就会变成空的。
给你两个整数 numBottles 和 numExchange ,返回你 最多 可以喝到多少瓶水。
示例
示例 1:
输入:numBottles = 9, numExchange = 3 输出:13 解释:你可以用 3 个空瓶兑换 1 瓶水。 所以最多能喝到 9 + 3 + 1 = 13 瓶水。
示例2
输入:numBottles = 15, numExchange = 4 输出:19 解释:你可以用 4 个空瓶兑换 1 瓶水。 所以最多能喝到 15 + 3 + 1 = 19 瓶水。
提示:
- 1 <= numBottles <= 100
- 2 <= numExchange <= 100
思路
首先我们一定可以喝到 bbb 瓶酒,剩下 bbb 个空瓶。接下来我们可以拿瓶子换酒,每次拿出 eee 个瓶子换一瓶酒,然后再喝完这瓶酒,得到一个空瓶。以此类推,我们可以统计得到答案。
代码
class Solution:
def numWaterBottles(self, numBottles: int, numExchange: int) -> int:
bottle, ans = numBottles, numBottles
while bottle >= numExchange:
bottle -= numExchange
ans += 1
bottle += 1
return ans
2、Review
分享一篇medium中关于架构模式的文章,10种软件架构的常见模式
An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context. Architectural patterns are similar to software design pattern but have a broader scope.
In this article, I will be briefly explaining the following 10 common architectural patterns with their usage, pros and cons.
- Layered pattern
- Client-server pattern
- Master-slave pattern
- Pipe-filter pattern
- Broker pattern
- Peer-to-peer pattern
- Event-bus pattern
- Model-view-controller pattern
- Blackboard pattern
- Interpreter pattern
3、Technique/Tips
cursor + github copilot 结合使用,日常编码效率大大提高,一些与业务相关性不大的逻辑更明显,推荐使用!
4、Share
1、AIGC的相关技术正在带来一场巨大变革,不要抗拒,不要固步自封,拥抱新技术吧
2、早点睡觉,好好活着是最重要的。