根据给出的数字生成相应的循环。如给出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++) { } } } }
2 回答
GCT1015
TA贡献1827条经验 获得超4个赞
递归
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)
}
}
添加回答
举报
0/150
提交
取消