mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
优化JS版本代码 (0039.组合总和.md)
This commit is contained in:
@ -370,18 +370,17 @@ func backtracking(startIndex,sum,target int,candidates,trcak []int,res *[][]int)
|
|||||||
```js
|
```js
|
||||||
var combinationSum = function(candidates, target) {
|
var combinationSum = function(candidates, target) {
|
||||||
const res = [], path = [];
|
const res = [], path = [];
|
||||||
candidates.sort(); // 排序
|
candidates.sort((a,b)=>a-b); // 排序
|
||||||
backtracking(0, 0);
|
backtracking(0, 0);
|
||||||
return res;
|
return res;
|
||||||
function backtracking(j, sum) {
|
function backtracking(j, sum) {
|
||||||
if (sum > target) return;
|
|
||||||
if (sum === target) {
|
if (sum === target) {
|
||||||
res.push(Array.from(path));
|
res.push(Array.from(path));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for(let i = j; i < candidates.length; i++ ) {
|
for(let i = j; i < candidates.length; i++ ) {
|
||||||
const n = candidates[i];
|
const n = candidates[i];
|
||||||
if(n > target - sum) continue;
|
if(n > target - sum) break;
|
||||||
path.push(n);
|
path.push(n);
|
||||||
sum += n;
|
sum += n;
|
||||||
backtracking(i, sum);
|
backtracking(i, sum);
|
||||||
|
Reference in New Issue
Block a user