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

2021-10-16 16:26:16 字數 1177 閱讀 1540

例如:現在有一批鞋子,其中顏色有[『白色』,『黑色』,『灰色』];大小有[『40』,『41』,『42』],樣式有[『板鞋』,『運動』,『休閒』],要求寫乙個演算法,實現[[『白色』,『40』,『板鞋』], [『白色』,『42』,『休閒』] …]這樣的組合

qlist> xx::getallgroup(qlist> val){

int orisize = val.size();

qvector tempindexarr(orisize);

tempindexarr[orisize - 1] = -1;

qvector templengtharr(orisize);

for (int i = 0; i < orisize; i++){

templengtharr[i] = val[i].size();

qlist> newlist;

bool completeflag = false;

while (!completeflag){

int changeindex = val.size() - 1;

bool isrightindex = false;

while (!isrightindex){

tempindexarr[changeindex] += 1;

if (tempindexarr[changeindex] >= templengtharr[changeindex]){

if (changeindex == 0){

isrightindex = true;

completeflag = true;

else{

tempindexarr[changeindex--] = 0;

else{

isrightindex = true;

if (isrightindex && !completeflag){

qvector pointvec;

for (int i = 0; i != val.size(); i++){

pointvec.push_back(val[i][tempindexarr[i]]);

newlist.push_back(pointvec);

return newlist;

已經工作的程式設計師朋友可以關注下我的gzh「程式設計師成長日誌」,分享日常工作中解決的問題即可賺取稿費,大家一起成長~

349 取兩個陣列的交集

給定兩個陣列,編寫乙個函式來計算它們的交集。示例 1 輸入 nums1 1,2,2,1 nums2 2,2 輸出 2 示例 2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 9,4 說明 輸出結果中的每個元素一定是唯一的。我們可以不考慮輸出結果的順序。1,雙重迴圈 13mscl...

JS兩個陣列取交集filter

關於filter的解釋,菜鳥教程這樣寫道 filter 方法建立乙個新的陣列,新陣列中的元素是通過檢查指定陣列中符合條件的所有元素。經常用來寫兩個陣列取交集的演算法 var arr1 1,5,6,4,2 var arr2 2,5,3,4 var arr3 arr1.filter function n...

php 取陣列數量 php統計陣列元素個數的方法

count 對陣列中的元素個數進行統計 sizeof 和count 具有同樣的用途,這兩個函式都可以返回陣列元素個數.可以得到乙個常規標量變數中的元素個數,如果傳遞給這個函式的陣列是乙個空陣列,或者是乙個沒有經過設定的變數,返回的陣列元素個數就是0 array count value 統計每個特定的...