function sum(arr, n, target) {     let res     //dfs函数(curNums当前用到的数,curSum这些数之和,start找下一个数的开始索引)     const dfs = (curNums, curSum, start) => {         //如果找到了n个数,则要开始判断         if (curNums.length === n) {             //如果符合要求,结果赋值给res             if (curSum === target) res = curNums             //不管符不符合要求,都要return了,因为已经是n个数了             return         }         //注:遍历从start开始,下一次递归的时候start要+1(防止使用自身以及之前)         for (let i = start; i < arr.length; i++) {             if (res) return             dfs(curNums.concat(arr[i]), curSum + arr[i], start + 1)         }     }     dfs([], 0, 0)     return res } dfs回溯,不知道会不会超时,我记着在力扣有这道题