算法(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

}
相关推荐
青梅橘子皮1 分钟前
Linux---虚拟地址空间
linux·运维·算法
KaMeidebaby3 分钟前
卡梅德生物技术快报|酵母表达系统工程:裂殖酵母穿梭载体分子改造与载体构建技术总结
网络·人工智能·网络协议·tcp/ip·算法
HZ·湘怡6 分钟前
二叉树 1
数据结构·算法·二叉树·
创业之路&下一个五年8 分钟前
JS编程范式 \& 面向对象范式
开发语言·前端·javascript
李白你好11 分钟前
DesJsFinder被动JS分析 + 框架识别 + 主动Fuzz + 响应指纹 — 红队API挖掘利器
javascript
ct97811 分钟前
Axios 请求取消
前端·javascript·vue.js
怕浪猫15 分钟前
Electron 开发实战(九):调试技巧与开发者工具|测试、性能分析、日志追踪全解
前端·javascript·electron
智能制造产品经理代码提升20 分钟前
ES6+ 标准使用手册
前端·javascript·es6
吴可可12321 分钟前
AutoCAD 2024搭配C#开发最佳实践
算法
Stick_ZYZ36 分钟前
从 Prompt 到 Context Engineering:Agent 真正稳定的关键
大数据·人工智能·算法·ai·prompt