Re: [閒聊] 每日leetcode

作者: DJYOMIYAHINA (通通打死)   2025-07-28 21:37:39
DP stage i算出只看nums[:i+1],所有subset對應的element-wise or的value的count
要進入stage i+1,只要把nums[i+1]跟map內所有item or過一次更新map即可
def countMaxOrSubsets(self, nums: List[int]) -> int:
target = 0
for num in nums:
target = target|num
mp = defaultdict(int)
mp[0] = 1
for num in nums:
tmp = defaultdict(int)
for k,v in mp.items():
if k|num < target:
tmp[k|num] += v
else:
tmp[target] += v
for k,v in tmp.items():
mp[k] += v
return mp[target]
作者: oin1104 (是oin的說)   2025-07-28 21:42:00
大師
作者: PogChampLUL (火車站肥宅)   2025-07-28 21:49:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com