Re: [閒聊] 每日leetcode已回收
乖乖偷看一下答案
總之先改成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
推
07/08 22:42,
1年前
, 1F
07/08 22:42, 1F
推
07/08 22:42,
1年前
, 2F
07/08 22:42, 2F
→
07/08 22:44,
1年前
, 3F
07/08 22:44, 3F
討論串 (同標題文章)
完整討論串 (本文為第 462 之 1554 篇):