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

}
相关推荐
岳哥i13 分钟前
vue鼠标单机复制文本
javascript
夏鹏今天学习了吗28 分钟前
【LeetCode热题100(87/100)】最小路径和
算法·leetcode·职场和发展
哈哈不让取名字41 分钟前
基于C++的爬虫框架
开发语言·c++·算法
幻云201044 分钟前
Python深度学习:从筑基到登仙
前端·javascript·vue.js·人工智能·python
Lips6113 小时前
2026.1.20力扣刷题笔记
笔记·算法·leetcode
我即将远走丶或许也能高飞3 小时前
vuex 和 pinia 的学习使用
开发语言·前端·javascript
2501_941329723 小时前
YOLOv8-LADH马匹检测识别算法详解与实现
算法·yolo·目标跟踪
洛生&3 小时前
Planets Queries II(倍增,基环内向森林)
算法
爱吃泡芙的小白白3 小时前
Vue 3 核心原理与实战:从响应式到企业级应用
前端·javascript·vue.js
小郭团队3 小时前
1_6_五段式SVPWM (传统算法反正切+DPWM2)算法理论与 MATLAB 实现详解
嵌入式硬件·算法·matlab·dsp开发