Question -
Find all possible combinations of k numbers that add up to a number n, given that only numbers from 1 to 9 can be used and each combination should be a unique set of numbers.
Note:
All numbers will be positive integers.
The solution set must not contain duplicate combinations
*
Input: k = 3, n = 7
Output: [[1,2,4]]
*
Solution -
from itertools import combinations
class Solution:
def combinationSum3(self, k: int, n: int) -> List[List[int]]:
return filter(lambda x: sum(x) == n, combinations(range(1, 10), r=k))
So, here I used python's library function combinations.
Combinations takes an iterable and other argument r denoting number of elements present in each combination, and returns all possible combinations.
For example combinations([1,2,3], r=2)
will give [(1,2), (2,3), (1,3)]
.
Happy coding :) !
Top comments (0)