最近需求,要写排列组合算法,首先第一步是m个元素中选n个元素进行组合,也就是数学中C(m,n);方法有多种。
递归
let arr = [1,2,3]
function combination(arr, nLen, m, singleArr, list) {
if (m === 0) {
let arrCopy = []
for (let j = 0; j < singleArr.length; j++) {
arrCopy[j] = singleArr[j]
}
list.push(arrCopy)
return
}