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

}
相关推荐
Hilaku10 分钟前
从搜索排名到 AI 回答? 先聊一聊 AI 可见度工具 BuildSOM !
前端·javascript·程序员
爱吃大芒果24 分钟前
从零搭建完整 HarmonyOS 应用实战教程
华为·typescript·harmonyos
豹哥学前端30 分钟前
前端工程化实战:从包管理到 Vite 配置,一套下来全明白
前端·javascript·vite
小O的算法实验室39 分钟前
2026年ASOC,基于多目标优化去噪双存档进化算法+路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
干中学_20261 小时前
vue3 画布编辑器「平移」天坑?只需 5 行代码,完美优雅复刻大厂体验!
javascript
2601_954526751 小时前
逆向解析Temu底层动销算法:基于API高并发轮询与全域存量透视的自动化架构重构
算法·架构·自动化
Σίσυφος19001 小时前
数据标准化(拟合的时候使用非常重要)
人工智能·算法
knight_9___2 小时前
大模型project面试7
人工智能·python·算法·面试·大模型·agent
NashSKY3 小时前
EM 算法完整推导与本质剖析
算法·机器学习·概率论
大家的林语冰3 小时前
Canvas 文艺复兴,HTML-in-Canvas 炫酷特效摆拍走红,Canvas 中也能渲染交互式的 HTML 元素了
前端·javascript·html