我在学Python。我需要解决以下问题problem:Given a 可能包含重复项的整数集合,nums,返回所有可能的子集(幂集)
class Solution:
def backtrack(self, List, start, nums, temlist):
self.List.append(temlist)
print(self.List)
for i in range(start, len(nums)):
if (i > start and (nums[i] == nums[i - 1])):
continue
temlist.append(nums[i])
self.backtrack(List, i + 1, nums, temlist)
temlist.pop()
def subsetsWithDup(self, nums) :
self.List = []
temlist = []
self.backtrack(self.List, 0, nums, temlist)
return self.List
输出是
[[]]
[[1], [1]]
[[1, 2], [1, 2], [1, 2]]
[[1, 2, 2], [1, 2, 2], [1, 2, 2], [1, 2, 2]]
[[2], [2], [2], [2], [2]]
[[2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]]
虽然预计会是:
[[]]
[[], [1]]
[[], [1], [1, 2]]
[[], [1], [1, 2], [1, 2, 2]]
[[], [1], [1, 2], [1, 2, 2], [2]]
[[], [1], [1, 2], [1, 2, 2], [2], [2, 2]]
谢谢
目前没有回答
相关问题 更多 >
编程相关推荐