作者DJYOMIYAHINA (通通打死)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Tue Dec 9 23:22:34 2025
先count所有數字
然後再maintain一個counter
每次的答案就看 左邊的num*2有幾個 乘上 右邊的num*2有幾個
只是0就要 多減1
這還真沒想到
def specialTriplets(self, nums: List[int]) -> int:
all_cnt = Counter(nums)
cur_cnt = defaultdict(int)
rets = 0
mod = 10**9 + 7
for num in nums:
if num==0:
rets = (rets + (cur_cnt[num*2]*(all_cnt[num*2]-cur_cnt[num*2]-
1))) % mod
else:
rets = (rets + (cur_cnt[num*2]*(all_cnt[num*2]-cur_cnt[num*2])
)) % mod
cur_cnt[num] += 1
return rets
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.58.28 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1765293756.A.4D3.html
推 caat0808: 你好擅長刷題呀 12/09 23:24
推 oin1104: 我好崇拜你 12/09 23:26
推 Che31128: 大師 12/09 23:28