Re: [閒聊] 每日leetcode

看板Marginalman作者 (通通打死)時間3月前 (2025/09/06 01:52), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1514/1548 (看更多)
想了一下 總之最多好像就61次? (雖然我跑60次也過了) for i in range(1,62) 先算num1-i*num2的部分 然後看這個num1-i*num2有幾個1bit 若現在的i>這個bit數 應該都是可以減成0的 (這個只是感覺 但應該就是ㄌ 直覺想到一個case是當i太多 但其實num1-i*num2沒這麼多1可以減 就加一個case擋掉 def makeTheIntegerZero(self, num1: int, num2: int) -> int: cur = num1 for i in range(60): cur -= num2 if cur>0: if cur.bit_count()<=(i+1) and cur>=(i+1): return i+1 return -1 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.58.28 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1757094720.A.BCF.html
文章代碼(AID): #1ekoD0lF (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1ekoD0lF (Marginalman)