Skip to content

Latest commit

 

History

History
51 lines (36 loc) · 906 Bytes

77_Combinations.md

File metadata and controls

51 lines (36 loc) · 906 Bytes

77. Combinations

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.

You may return the answer in any order.

Example 1:

Input: n = 4, k = 2 Output: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] Example 2:

Input: n = 1, k = 1 Output: [[1]]

Constraints:

1 <= n <= 20 1 <= k <= n

def combine(self, n: int, k: int) -> List[List[int]]:
        result = []
        def gen_pattern(build, index):
            if len(build) ==k:
                result.append(build)
                return
            
            for i in range(index+1, n+1):
                gen_pattern(build+[i], i)
                
        gen_pattern([], 0)
        return result
Runtime: 544 ms, faster than 43.06% of Python3 online submissions for Combinations.
Memory Usage: 15.6 MB, less than 33.85% of Python3 online submissions for Combinations.