Given a set of distinct integers, S, return all possible subsets.
Note:
- Elements in a subset must be in non-descending order.
- The solution set must not contain duplicate subsets.
For example,
If S =
If S =
[1,2,3]
, a solution is:[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
Solution:
class Solution: # @param S, a list of integer # @return a list of lists of integer def subsets(self, S): S.sort() solution = [] self.subsetsRec(S,0, [], solution) return solution def subsetsRec(self, S, index, tempSolution, solution): if index == len(S): solution.append(list(tempSolution)) else: self.subsetsRec(S,index+1, tempSolution, solution) tempSolution.append(S[index]) self.subsetsRec(S,index+1, tempSolution, solution) tempSolution.pop()
No comments :
Post a Comment