39. 组合总和
- 题号:39
- 来源:LeetCode
- 难度:中等
- 标签:
回溯组合数组 - 语言:TypeScript
- 解法:1 个
- 作者:lmliheng
- 最近更新:2026-09-27
TypeScript · 更新于 2026-09-27
回溯枚举组合,和超过目标时剪枝
typescript
/**
* @difficulty medium
* @tags 回溯,组合,数组
* @note 回溯枚举组合,和超过目标时剪枝
* @39. 组合总和
*/
function combinationSum(candidates: number[], target: number) {
let n = candidates.length
let res: number[][] = []
let path: number[] = []
const trackback = (start: number, sum: number) => {
if (sum === target) {
res.push([...path])
return
}
if (sum > target) {
return
}
for (let i = start; i < n; i++) {
path.push(candidates[i])
trackback(i, candidates[i] + sum)
path.pop()
}
}
trackback(0, 0)
return res
};在 GitHub 上查看题目所在目录:lmliheng/algorithm