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

}
相关推荐
玖玥拾14 小时前
LeetCode 383 赎金信
算法·leetcode
维克兜率天14 小时前
5.3 宏观因子:抬头看天
笔记·python·深度学习·算法·量化
LuminousCPP14 小时前
数据结构-排序(五):计数排序与排序专题阶段总结|从外部归并到线性排序,再看算法边界与选型
c语言·数据结构·笔记·算法·排序算法
流水白开14 小时前
JavaScript的原型链、类与类的继承
前端·javascript
流云枫14 小时前
003-上下文窗口:物理限制、KV Cache 与工程应对策略
算法
盟道科技14 小时前
小程序订阅消息大规模投递实践:频控令牌池、Redis限流与失败补偿设计
分布式·算法·小程序
工具派14 小时前
视频场景检测是怎么找到切镜头位置的?三种思路与实测
算法·计算机视觉·视频
钓鱼的肝15 小时前
csp-j-s总结(1)
c++·笔记·算法·青少年编程
流云枫15 小时前
001-Transformer架构与Self-Attention机制深度解析
算法
YHL15 小时前
🚰流式输出:把 LLM 的每个字,像水一样送到浏览器
前端·javascript