Skip to content

Instantly share code, notes, and snippets.

@codecakes
Created June 8, 2024 10:06
Show Gist options
  • Save codecakes/9ba38db9f0ec426277619dc108db936d to your computer and use it in GitHub Desktop.
Save codecakes/9ba38db9f0ec426277619dc108db936d to your computer and use it in GitHub Desktop.
N choose K combinations
def find_combinations(n, k):
"""
Args:
n(int32)
k(int32)
Returns:
list_list_int32
"""
array = list(range(1,n+1))
result = set()
for idx, num in enumerate(array):
do_find_combinations(result, array[idx+1:], [num], k, k-1)
return [list(x) for x in result]
def do_find_combinations(result, array, acc, count, k):
if k == 0:
result.add(tuple(acc))
for idx, num in enumerate(array):
do_find_combinations(result, array[idx+1:], acc + [num], count, k-1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment