leetcode:再帰的な77の組み合わせ

タイトル

二つの整数を考える  のn  と  kの、すべての可能な組み合わせを返す  のk  ... 1のうちの数字を  n個

例:

入力:  N = 4、K = 2
 出力:
[
  [2,4]
  [3,4]
  [2,3]
  [1,2]
  [1,3]
  [1,4]
]

思考

二つの部分の組み合わせ:

        数1 K [1、N-1]、その中に、 

        2、K-1の番号[1、N-1] + Nで

    def combine(self, n: int, k: int) -> List[List[int]]:
        if n == 0 or k == 0:
            return []
        elif k == 1:
            ans = []
            for i in range(n):
                ans.append([i+1])
            return ans
        
        ans = self.combine(n-1,k)
        second = self.combine(n-1,k-1)
        for item in second:
            ans.append(item+[n])
        return ans
        
            

 

公開された45元の記事 ウォンの賞賛1 ビュー3362

おすすめ

転載: blog.csdn.net/qq_22498427/article/details/104568437