Re: [闲聊] 每日leetcode

楼主: DJYOMIYAHINA (通通打死)   2025-12-09 23:22:34
先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
作者: caat0808 (桐生キキョウ)   2025-12-09 23:24:00
你好擅长刷题呀
作者: oin1104 (是oin的说)   2025-12-09 23:26:00
我好崇拜你
作者: Che31128 (justjoke)   2025-12-09 23:28:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com