Grokking the Coding Interview: Patterns for Coding Questions
Vote

0% completed

Combination Sum (medium)

Problem Statement

Try it yourself

Problem Statement

Given an array of distinct positive integers candidates and a target integer target, return a list of all unique combinations of candidates where the chosen numbers sum to target. You may return the combinations in any order.

The same number may be chosen from candidates an unlimited number of times. Two combinations are unique if the frequency of at least one of the chosen numbers is different.

Example 1:

Input: candidates = [2, 3, 6, 7], target = 7  
Output: [[2, 2, 3], [7]]  
Explanation: The elements in these two combinations sum up to 7.

Example 2:

Input: candidates = [2, 4, 6, 8], target = 10  
Output: [[2,2,2,2,2], [2,2,2,4], [2,2,6], [2,4,4], [2,8], [4,6]]    
Explanation: The elements in these six combinations sum up to 10.

Constraints:

  • 1 <= candidates.length <= 30
  • 2 <= candidates[i] <= 40
  • All elements of candidates are distinct.
  • 1 <= target <= 40

Try it yourself

Try solving this question here:

Python3
Python3

. . . .
M

makarand.h

· 2 years ago

It is not accepting correct results.

[[7], [2, 2, 3]] and [[2, 2, 3], [7]] both should be accepted but it doesn't.

S

Shane

· 3 years ago

Mohammed Dh Abbas

Mohammed Dh Abbas

· 2 years ago

class Solution: def combinationSum(self, candidates, target): def backtrack(result, index, path, add): if add > target: return if add == target: result.append(path[:]) for i in range(index, len(candidates)): path.append(candidates[i]) add += candidates[i] backtrack(result, i, path, add) add -= candidates[i] path.pop() result = [] backtrack(result, 0, [], 0) return result
F

focusssspro

· 3 months ago

You have test case:


[2,3,5]
0

But in constrains it is said: 1 <= target <= 40

On This Page

Problem Statement

Try it yourself