Re: [閒聊] 每日leetcode

看板Marginalman作者 (單推凜寶)時間10月前 (2025/02/10 09:21), 編輯推噓0(001)
留言1則, 1人參與, 10月前最新討論串1332/1552 (看更多)
昨天的 題目: 有一個array叫nums裡面有很多數字 我們要找裡面有幾對符合i<j且nums[j]-nums[i]!=j-i 思路: 先去算有幾對符合nums[j]-nums[i]!=j-i 再用全部去扣 nums[j]-nums[i]=j-i移項可以變成nums[j]-j=nums[i]-i 所以可以先把nums每項都先改成nums[i]-i 再去統計每個數字出現的頻率 假設一個數字出現k次 因為要k個找兩個做組合所以就有k*(k-1)/2對 每一項加起來再用全部去扣就是答案了 Code: def countBadPairs(self, nums): for i in range(len(nums)): nums[i]-=i dict={} total=len(nums)*(len(nums)-1)//2 for i in nums: if i not in dict: dict[i]=1 else: dict[i]+=1 for i in dict: total-=dict[i]*(dict[i]-1)//2 return total 坐火車很無聊 看不到今天的題目 用昨天的先水一篇 對阿 -- https://i.imgur.com/P179G56.jpeg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.53.152.67 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1739150517.A.16E.html

02/10 09:23, 10月前 , 1F
打這麼多怎麼才10p
02/10 09:23, 1F
文章代碼(AID): #1dgLIr5k (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1dgLIr5k (Marginalman)