最近做專案碰到這個問題,如題從n個陣列任意選取乙個元素的所有組合。比如已知陣列是[1, 3]; [2, 4]; [5]; 最後組合結果是[1, 2, 5]; [1, 4, 5]; [3, 2, 5]; [3, 4, 5]; 網上看了好多帖子,發現寫的太複雜,於是自己動手解決。
直接貼解決方案:
方法一:
// 執行組合排列的函式
function doexchange(arr)
}// 將新組合的陣列並到原陣列中
var newarr = new array(len -1);
for(var i=2;inewarr[i-1] = arr[i];
}newarr[0] = items;
// 執行**
return doexchange(newarr);
}else
}//執行
var array = [['a', 'b', 'c'], [1, 2, 3], ['x', 'y', 'z']];
console.log(doexchange(array));
方法二:
garr = [
['a', 'b'],
['1', '2', '3'],
['x', 'y', 'z'],
]function doexchange(arr, depth) else }}
test(garr);
function test(arr)
當然還有更多解決辦法,就總結到這兒吧~
乙個陣列有 N 個元素,求連續子陣列的最大和
輸入描述 輸入為兩行。第一行乙個整數n 1 n 100000 表示一共有n個元素 第二行為n個數,即每個元素,每個 整數都在32位int範圍內。以空格分隔。輸出描述 所有連續子陣列中和最大的值。示例1 輸入3 1 2 1輸出3 我們用pos代表即將要加的數,sum從0開始一直 pos,並每次進行判斷...
求乙個陣列的子集
該題是力扣上面的乙個題,感覺思路不錯就摘抄下來做個筆記。以後準備定期耍上面的題來提高一下自己的演算法基礎。題目描述如下 給定一組不含重複元素的正數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 3 1 2 1,2,3 1,3 2,...
分治法求乙個N個元素陣列的逆序數
背景 逆序數 也就是說,對於n個不同的元素,先規定各元素之間有乙個標準次序 例如n個 不同的自然數,可規定從小到大為標準次序 於是在這n個元素的任一排列中,當某兩個元素的先後次序與標準次序不同時,就說有1個逆序。乙個排列中所有逆序總數叫做這個排列的逆序數。定義在乙個排列中,如果一對數的前後位置與大小...