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