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.
Example 1:
Input: k = 3, n = 7
Output:
[[1,2,4]]
Example 2:
Input: k = 3, n = 9
Output:
[[1,2,6], [1,3,5], [2,3,4]]
class Solution(object): def combinationSum3(self, k, n): """ :type k: int :type n: int :rtype: List[List[int]] """ ans = [] path = [] if k<=0 or n<=0: return ans self.comb_helper(k, n, 1, path, ans) return ans def comb_helper(self, k, n, start, path, ans): if n<0: return if n==0 and k==0: ans.append(list(path)) return for i in xrange(start, 10): path.append(i) self.comb_helper(k-1, n-i, i+1, path, ans) path.pop()
时间: 2024-12-20 14:57:02