遍历所有可能的子集即可。
from typing import List
class Solution:
def countMaxOrSubsets(self, nums: List[int]) -> int:
ans = 0
for num in nums:
ans |= num
ret = 0
for mask in range(1 << len(nums)):
val = 0
for i, num in enumerate(nums):
if (1 << i) & mask:
val |= num
if val == ans:
ret += 1
return ret