LeetCode鍛鍊(1)

三流工程師
·
·
IPFS
·
2024/7/7的練習

目前距離碩士畢業只剩一年,但老實說對於程式的見解,還駐足於複製貼上跟偵錯的程度,有鑑於此要提升程式能力勢在必行,查找網路的教學,發現LeetCode是最有效的練習途徑,所以決定每天練習並記錄。

題目

題目

今天的題目是要計算出總共能喝幾瓶飲料,不過這個題目有一個特殊的機制,就是可以用"一定"的數量空瓶去兌換飲料來喝,至於是幾瓶就是隨題目而定,舉例來說「一共有9瓶飲料,然後這家店可以用3瓶空瓶去兌換飲料,所以每當喝完再兌換在喝的過程中,一共可以喝9+3+1=13瓶飲料,答案就是13」要寫一個Python程式來計算瓶子數量。

解答

解答

這裡面運用到一個數學邏輯如下,收先計算一開始能喝到的飲料瓶數9瓶,然後在接下來的交換過程中,因為裝飲料一定至少需要一個空瓶,所以總瓶數 9-1=8 瓶,而兌換空瓶則至少會有一瓶被拿去裝飲料,所以 3-1=2 瓶,所以交換過程所獲的的飲料瓶數為 8/2=4 瓶飲料,所以一共可以喝到 9+4=13 瓶飲料。

耗時

總結

果然一試便知有沒有,打開題目一看直接腦袋一片空白,甚至連題目是英文都看得很吃力,只能索性直接打開討論去看,直接看到大神利用數學技巧解題,讓我這16分鐘直接物超所值學到非常厲害的思路,雖然不知道這樣練習下去的成果會是如何,但至少今天我已經學到一個令我佩服五體投地的解題技巧了。


CC BY-NC-ND 4.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!

三流工程師天份不夠,經歷來湊
  • 选集
  • 来自作者
  • 相关推荐