n個陣列實現排列組合

2021-10-04 02:36:30 字數 610 閱讀 1392

命題場景:

現在有一批手機,其中顏色有[『白色』,『黑色』,『金色』];記憶體大小有[『16g』,『32g』,『64g』],版本有[『移動』,『聯通』,『電信』],要求寫乙個演算法,實現[[『白色』,『16g』,『移動』], [『白色』,『16g』,『聯通』] …]這樣的組合

//陣列排列組合方法

doexchange(arr){

var len = arr.length;

// 當陣列大於等於2個的時候

if(len >= 2){

// 第乙個陣列的長度

var len1 = arr[0].length;

// 第二個陣列的長度

var len2 = arr[1].length;

// 2個陣列產生的組合數

var lenboth = len1 * len2;

// 申明乙個新陣列,做資料暫存

var items = new array(lenboth);

// 申明新陣列的索引

var index = 0;

// 2層巢狀迴圈,將組合放到新陣列中

for(var i=0; i

qt取陣列個數 qt n個陣列實現排列組合

例如 現在有一批鞋子,其中顏色有 白色 黑色 灰色 大小有 40 41 42 樣式有 板鞋 運動 休閒 要求寫乙個演算法,實現 白色 40 板鞋 白色 42 休閒 這樣的組合 qlist xx getallgroup qlist val int orisize val.size qvector te...

C 排列組合 N個數中取M個數

感謝一位好朋友和我分享了這樣的乙份 因為自己當時考慮的遞迴演算法相當糾結,怎樣遞迴都不大對,然後我的好朋友和我分享了一段這樣的 我現在分享給大家。題目 在n個數中取m個數,用的方法使用的是開闢乙個長度為100的int型陣列,0 1 2 99 100 比如說測試資料為 4 2 也就是從1 4中取2個數...

排列組合實現

演算法 與網際網路 組合演算法 本程式的思路是開乙個陣列,其下標表示1到m個數,陣列元素的值為1表示其下標 代表的數被選中,為0則沒選中。首先初始化,將陣列前n個元素置1,表示第乙個組合為前n個數。然後從左到右掃瞄陣列元素值的 10 組合,找到第乙個 10 組合後將其變為 01 組合,同時將其左邊的...