请教一个函数的写法。

根据给出的数字生成相应的循环。如给出2,则生成2重循环,3则3重循环
如给出3,则

for (let i = 0; i < arr.length; i++) {
        for (let j = 0; j < arr.length; j++) {
            for (let k = 0; k < arr.length; k++) {
                
                }
            }
        }
 }
九州编程
浏览 455回答 2
2回答

呼啦一阵风

递归 f(arr, 3, []) function f(arr,k,temp){ if(k<=0){ let sum = 0 let r =[] for(let i = 0; i < temp.length; i++){ sum += temp[i] r.push(temp[i]) } if (sum === hz) { result.push(r) } return } for (let i = 0; i < arr.length; i++) { temp.push(arr[i]) f(arr, k-1, temp) temp.splice(temp.length-1, 1) } }

MMMHUHU

這種需求一般都儘可能通過遞歸來解決的, 讓n作爲參數然後n = 0時跳出遞歸就行了. 強行要loop解決估計要一些奇技淫巧了.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java