class Solution(object):
def helper(self, res, list1, n, k, start):
if k == 0:
res.append(list1[:])
return
for i in range(start, n+1):
list1.append(i)
self.helper(res, list1, n, k - 1, i + 1)
list1.pop()
def combine(self, n, k):
"""
:type n: int
:type k: int
:rtype: List[List[int]]
"""
res = []
self.helper(res, [], n, k, 0)
return res
class Solution(object):
def helper(self, res, list1, nums, index):
res.append(list1[:])
for i in range(index, len(nums)):
list1.append(nums[i])
self.helper(res, list1, nums, i + 1)
list1.pop()
def subsets(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
res = []
if not nums oor len(nums) == 0:
return res
self.helper(res, [], nums, 0)
return res