class Solution(object):
def _comb(self, lst, k):
if k==0: return []
if k==1:
return [ [v] for v in lst ]
ret=[]
n=len(lst)
for i in xrange(0, n-k+1):
#lst[i],lst[0]=lst[0],lst[i]
#for v in self._comb(lst[1:], k-1):
# v.insert(0, lst[0])
# ret.append(v)
#lst[i],lst[0]=lst[0],lst[i]
for v in self._comb(lst[i+1:], k-1):
v.insert(0, lst[i])
ret.append(v)
return ret
def combine(self, n, k):
"""
:type n: int
:type k: int
:rtype: List[List[int]]
"""
lst=[i for i in xrange(1, n+1)]
res=self._comb(lst, k)
return res