class(object): defdfs(self, items, n, path, rs): if n == len(path): rs.append(path[:]) return for k, v in items: c = path.count(k) if c < v: path.append(k) self.dfs(items, n, path, rs) path.pop()
defpermuteUnique(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ nums.sort() count = {} for x in nums: count.setdefault(x, 0) count[x] += 1 rs = [] path = [] n = len(nums) items = count.items() self.dfs(items, n, path, rs) return rs
近期评论