算法(TS):找出数组中和为sum的n个数

使用递归和回溯

ts 复制代码
function findSum(arr: number[],target:number,count:number):number[][] {
    if(arr.length === 0 || count <= 0) return []
    const answers: number[][] = []
    const current: number[] = []

    const backtrack = (start: number,sum: number,n: number) => {
        if(sum === 0 && n === 0) {
            answers.push([...current])
            return
        }

        for(let i = start; i < arr.length; i++) {
            if(arr[i] <= sum) {
                current.push(arr[i])
                backtrack(i + 1,sum-arr[i],n-1)
                current.pop()
            }
        }
    }

    backtrack(0,target,count)
    return answers

}
相关推荐
Controller-Inversion1 分钟前
76. 最小覆盖子串
java·算法·leetcode
_日拱一卒4 分钟前
LeetCode:437路径总和Ⅲ
算法·leetcode·职场和发展
lightqjx8 分钟前
【前端】前端学习四之JavaScript(Web API -- DOM)
前端·javascript·学习
PieroPc17 分钟前
通用产品标签打印 (为制衣厂 打印纸箱错印或不足 补打修改纸箱通用程序)html版
前端·javascript·vue.js
muddjsv19 分钟前
前端开发语言使用流行度排行与分析
前端·javascript·typescript
♡すぎ♡20 分钟前
ShaderLab:PBR+IBL(ShaderToy Translation)
算法·计算机图形学·着色器·pbr·ibl
Shadow(⊙o⊙)22 分钟前
前缀和:和可被K整除的子数组(normal)
数据结构·c++·算法
心.c25 分钟前
CommonJS和ES Module
javascript·后端·node.js
世纪末的小黑26 分钟前
【LeetCode自用】LeetCode自用记录贴,题目一:两数之和
数据结构·算法·leetcode
兰令水27 分钟前
topcode【随机算法题】【2026.5.22打卡-java版本】
java·算法·leetcode