求從n個陣列任意選取乙個元素的所有組合

2022-08-09 03:39:17 字數 755 閱讀 9195

最近做專案碰到這個問題,如題從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個逆序。乙個排列中所有逆序總數叫做這個排列的逆序數。定義在乙個排列中,如果一對數的前後位置與大小...