看板 Marginalman
乖乖偷看一下答案 總之先改成0-index,modulo比較不會有問題 當你移除了一個element之後,問題就可以退化成findTheWinner(n-1,k) 不過是從k (0-index) 開始數的findTheWinner(n-1,k) 也可以當成是從0開始數的findTheWinner(n-1,k),最後再+k 所以findTheWinner(n,k) = (findTheWinner(n-1,k)+k) % n 然後記得處理轉圈問題,就單純%n就可以 終止條件就是當只剩下一個人(n==1)時,回傳0 (0-index) 最後記得+1回到1-index -- 到底誰會這樣想問題 點點點 剩我是蠢蛋了 def findTheWinner(self, n: int, k: int) -> int: def help(n,k): if n == 1: return 0 return (help(n-1,k)+k)%n return help(n,k)+1 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.229.37.69 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1720449538.A.CA6.html
ShindoAmane: 發哥 別卷了 07/08 22:42
CanIndulgeMe: 技術大神 07/08 22:42
DJYOMIYAHINA: 唉我覺得我好像想錯了 07/08 22:44