[leetcode] Combinations @ Python [ask for help]

https://oj.leetcode.com/problems/combinations/

 

Given two integers n and k, return all possible combinations of k 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:
    # @return a list of lists of integers
    def combine(self, n, k):
        return self.combineRecur([], n, k, 1)
        
    def combineRecur(self, current, n, k, i):
        if k == 0:
            return [current]
        if i > n:
            return []
        return self.combineRecur(current, n, k, i + 1) + self.combineRecur(current + [i], n, k - 1, i + 1)

 

posted on 2014-09-20 09:16  AIDasr  阅读(132)  评论(0编辑  收藏  举报

导航