90. Subsets II-array
题目分析:以每个位置后边的所有位置与当前位置拼接,事件复杂的是阶乘的
class Solution: # @param num, a list of integer # @return a list of lists of integer # a dfs problem def dfs(self, res, val, num, start): if val not in res: res.append(val) for i in range(start, len(num)): self.dfs(res, val+[num[i]], num, i+1) def subsetsWithDup(self, S): res = [] if len(S) == 0: return res S.sort() val = [] self.dfs(res, val, S, 0) return res