这道题的思路是位运算。
class Solution:
def subsets(self, nums: List[int]) -> List[List[int]]:
num = 2 ** len(nums)
list_ans = []
for i in range(num):
res = []
tp = 1
for j in range(len(nums)):
if (tp & i) > 0:
res.append(nums[j])
tp <<= 1
list_ans.append(res)
return list_ans