# Combination Sum https://leetcode.com/problems/combination-sum/ An example of [[backtracking]]. ```python results = [] def backtrack(remain, comb, start): nonlocal results if remain == 0: # accept the comb results.append(list(comb)) return elif remain < 0: # reject the comb return # continue exploration for i in range(start, len(candidates)): comb.append(candidates[i]) backtrack(remain - candidates[i], comb, i) comb.pop() backtrack(target, [], 0) return results ```