有序的組合

2021-09-08 15:52:45 字數 1335 閱讀 3466

比如現在輸入:「阿膠」 阿對應的就是ae,膠對應的是j,實際可參與匹配的項有兩個c1

2 * c1

1 = 2。

現在弄點複雜的情況,輸入的4個字都是多間字,第乙個字對應漢字拼音首字母為「ae」、第二個對應「bd」、第三個對應「cfg」、第四個對應「opq」,那麼輸入有序組合的任意字元,比如abc,就能匹配上面完整的漢字。寫了乙個簡單的遞迴,實現上述的需求。

* ...

* @author meteoric_cry

*/public

class combdemo extends sprite

private

function inited():void

var a:array = getcombarr(_arr);

trace("共有:" + a.length + "種組合");

trace(a.join("\n"));

}private

function getcombarr(arr:array):array

}var newarr:array = new array();

for (var m:int = 2; m < len; m++)

newarr[0] = temparr;

return arguments.callee(newarr);

}else}}

}執行的結果:

共有:36種組合

abco

abcp

abcq

abfo

abfp

abfq

abgo

abgp

abgq

adco

adcp

adcq

adfo

adfp

adfq

adgo

adgp

adgq

ebco

ebcp

ebcq

ebfo

ebfp

ebfq

ebgo

ebgp

ebgq

edco

edcp

edcq

edfo

edfp

edfq

edgo

edgp

edgq

只需要對輸入的字母,與上述的結果進行indexof匹配即可知道是否滿足要求。

網上有乙個專門用於解決數學的向量和矩陣的庫sylvester

不同的有序陣列合併

有序陣列合併 void orderlistmerge int b self printlist a length alen self printlist b length blen int result 14 int p 0,q 0,i 0 p為a陣列下標 q為b陣列下標,i為合併陣列下標 任意子陣...

演算法有序陣列合併

最近看一本書上有乙個面試題,原題目是 有兩個遞增陣列 a1 a2,a1的記憶體空間足夠長,現在要求合併 a2到a1,並且要求移動次數最小 面試的時候 我們盡量要以 最高效的方式完成 下面是此題 o n 解法。合併 void mergearray int arra1,int arra2,int nle...

mysql組合索引的有序性《轉》

昨天同事關於軍規裡的一條mysql索引的問題諮詢我,才發現自己也不太了解組合索引的規則。於是來記錄一下 推薦 如果有order by的場景,請注意利用索引的有序性。order by 最後的字段是組合索引的一部分,並且放在索引組合順序的最後,避免出現file sort的情況,影響查詢效能。正例 whe...