每日一題 1518 換酒問題

2021-10-17 18:44:55 字數 1054 閱讀 7600

避免每日太過鹹魚,一天搞定一道leetcode演算法題

小區便利店正在**,用 numexchange 個空酒瓶可以兌換一瓶新酒。你購入了 numbottles 瓶酒。

如果喝掉了酒瓶中的酒,那麼酒瓶就會變成空的。

請你計算 最多 能喝到多少瓶酒。

示例 1:

輸入:numbottles =

9, numexchange =

3輸出:13

解釋:你可以用 3 個空酒瓶兌換 1 瓶酒。

所以最多能喝到 9+3

+1=13 瓶酒。

示例 2:

輸入:numbottles =

15, numexchange =

4輸出:19

解釋:你可以用 4 個空酒瓶兌換 1 瓶酒。

所以最多能喝到 15+3

+1=19 瓶酒。

示例 3:

輸入:numbottles =

5, numexchange =

5輸出:6

第一步,首先我們一定可以喝到 b 瓶酒,剩下 b 個空瓶。

第二步,接下來我們來考慮空瓶換酒,換完再喝,喝完再換的過程——每次換到一瓶酒就意味著多乙個空瓶,所以每次損失的瓶子的數量為 e - 1,我們要知道這個過程能得到多少瓶酒,即希望知道第乙個打破下面這個條件的 n 是多少:b−n*(e−1)≥*e

即我們要找到最小的 n 使得:b−n(e−1)

當然我們要特別注意這裡的前提條件是 b ≥e,試想如果 bclass

solution

}複雜度分析

--------------也希望大家給我點支援,謝謝各位大佬了!!!--------------

1518 換酒問題

小區便利店正在 用 numexchange 個空酒瓶可以兌換一瓶新酒。你購入了 numbottles 瓶酒。如果喝掉了酒瓶中的酒,那麼酒瓶就會變成空的。請你計算 最多 能喝到多少瓶酒。示例 1 輸入 numbottles 9,numexchange 3 輸出 13 解釋 你可以用 3 個空酒瓶兌換 ...

LeetCode 1518 換酒問題

小區便利店正在 用 numexchange 個空酒瓶可以兌換一瓶新酒。你購入了 numbottles 瓶酒。如果喝掉了酒瓶中的酒,那麼酒瓶就會變成空的。請你計算 最多 能喝到多少瓶酒。示例 1 輸入 numbottles 9,numexchange 3 輸出 13 解釋 你可以用 3 個空酒瓶兌換 ...

力扣Leetcode 1518 換酒問題

小區便利店正在 用 numexchange 個空酒瓶可以兌換一瓶新酒。你購入了 numbottles 瓶酒。如果喝掉了酒瓶中的酒,那麼酒瓶就會變成空的。請你計算 最多 能喝到多少瓶酒。示例 輸入 numbottles 9,numexchange 3 輸出 13 解釋 你可以用 3 個空酒瓶兌換 1 ...