博客域名:
http://www.xnerv.wang
原题页面: https://oj.leetcode.com/problems/combinations/
题目类型:
难度评价:★
本文地址: http://blog.csdn.net/nerv3x3/article/details/39453269
原题页面: https://oj.leetcode.com/problems/combinations/
题目类型:
难度评价:★
本文地址: http://blog.csdn.net/nerv3x3/article/details/39453269
Given two integers n and k, return all possible combinations ofk numbers out of 1 ... n.
For example,
If n = 4 and k = 2, a solution is:
[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ]
class Solution:
def __init__(self):
self.lists = [ ]
def doCombine(self, list, n, m, k):
if 0 == k:
self.lists.append(list)
return
if m > n:
return
self.doCombine(list[:], n, m + 1, k)
new_list = list
new_list.append(m)
self.doCombine(new_list, n, m + 1, k - 1)
# @return a list of lists of integers
def combine(self, n, k):
if k > n:
return [ ]
self.doCombine([ ], n, 1, k)
return self.lists