Build the PrimitiveMedium
Combination Sum
Write `combination_sum(candidates, target)` returning every unique combination of distinct candidates summing to the target. Each candidate may be reused any number of times. Order within and between combinations does not matter.
combination_sum([2,3,6,7], 7) -> [[2,2,3], [7]]
Reuse means recursing with the *same* index, not the next one. Uniqueness means never looking backwards: pass a start index and only consider candidates from there on, or you will emit [2,2,3] and [2,3,2] and [3,2,2].
What to expect: A timer starts when you begin. Edit the starter code, run it against the test suite as many times as you like, then finish when you're done. The reference solution and interviewer follow-up questions unlock only after you finish.