精華區beta Marginalman 關於我們 聯絡資訊
※ 引述《smart0eddie (smart0eddie)》之銘言: : 暴力解 : 每次多喝 B 瓶 : 每 E 個空瓶可以去換一瓶滿的 : 會剩下 R 個空瓶 : 一行的數學姐看不懂 : 有大師能用姆咪也看得懂的方式解釋一下嗎 : [Python] One line Math Solution O(1) beating 100% def numWaterBottles(self, numBottles: int, numExchange: int) -> int: return numBottles + (numBottles - 1) // (numExchange - 1) 就是說拿 E 瓶空瓶去換一瓶滿的這個過程 可以看做是拿 E-1 個空瓶去換一瓶量的水然後倒進某個空瓶裡 所以可以想成一開始拿一個空瓶來裝 換完就直接喝掉(所以它又空了) 然後重複這個過程 (numBottles - 1) // (numExchagne-1) 留個空瓶來裝 剩下的空瓶 E-1 瓶能換到一瓶的量 換到不能再換 然後再加一開始每瓶都是滿的時候喝掉的那些 -- 蛤? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.231.1.90 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1720334429.A.6B2.html
Rushia: 幫寫HARD 07/07 15:56
smart0eddie: 大師 07/08 09:52