javascript使用遞歸算法求兩個(gè)數(shù)字組合功能示例
本文實(shí)例講述了javascript使用遞歸算法求兩個(gè)數(shù)字組合功能。分享給大家供大家參考,具體如下:
// 12 ,3,4 兩個(gè)數(shù)字組合 最后結(jié)果 應(yīng)該是
// 13
// 14
// 23
// 24
// 34
// 這5種 用程序 怎么算出來(lái)
// 是求組合的算法
// var arr = [12, 3, 4];
// var len = arr.length;
// var result = [];
// for (var i = 0; i < len; i++) {
// for (var j = i + 1; j < len; j++) {
// for (var k = 0; k < String(arr[i]).length; k++) {
// for (var m = 0; m < String(arr[j]).length; m++) {
// result.push(Number(String(arr[i]).charAt(k)+String(arr[j]).charAt(m)));
// }
// }
// }
// }
// console.log(result);
var arr = [12, 3, 4];
var len = arr.length;
var result = [];
var indexs = {};
function combination(ind, start) {
start++;
if (start > 1) {
return;
}
if (!indexs[start]) {
indexs[start] = 0;
}
for (indexs[start] = ind; indexs[start] < len; indexs[start]++) {
combination(indexs[start] + 1, start);
if (start == 1) {
var one = String(arr[indexs[start - 1]]);
var two = String(arr[indexs[start]]);
for (var k = 0; k < one.length; k++) {
for (var m = 0; m < two.length; m++) {
result.push(Number(one.charAt(k) + two.charAt(m)));
}
}
}
}
}
combination(0, -1);
console.log(result);
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JS使用Dijkstra算法求解最短路徑
- javascript算法題 求任意一個(gè)1-9位不重復(fù)的N位數(shù)在該組合中的大小排列序號(hào)
- javascript算法題:求任意一個(gè)1-9位不重復(fù)的N位數(shù)在該組合中的大小排列序號(hào)
- JavaScript求一組數(shù)的最小公倍數(shù)和最大公約數(shù)常用算法詳解【面向?qū)ο?,回歸迭代和循環(huán)】
- JavaScript實(shí)現(xiàn)數(shù)組全排列、去重及求最大值算法示例
- javascript中解析四則運(yùn)算表達(dá)式的算法和示例
- JS使用Prim算法和Kruskal算法實(shí)現(xiàn)最小生成樹
- JS實(shí)現(xiàn)計(jì)算小于非負(fù)數(shù)n的素?cái)?shù)的數(shù)量算法示例
- JavaScript采用遞歸算法計(jì)算階乘實(shí)例
- JavaScript實(shí)現(xiàn)的一個(gè)計(jì)算數(shù)字步數(shù)的算法分享
- JS求解兩數(shù)之和算法詳解
相關(guān)文章
微信公眾平臺(tái) 發(fā)送模板消息(Java接口開發(fā))
這篇文章主要介紹了微信公眾平臺(tái) 發(fā)送模板消息(Java接口開發(fā)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
JavaScript實(shí)現(xiàn)多層顏色選項(xiàng)卡嵌套
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)多層顏色選項(xiàng)卡嵌套,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
JS實(shí)現(xiàn)一個(gè)列表中包含上移下移刪除等功能
一個(gè)項(xiàng)目,包括了一個(gè)列表頁(yè)其中包括在列表中實(shí)現(xiàn)上移,下移,刪除等功能,為了用戶體驗(yàn),操作均使用JS實(shí)現(xiàn)2014-09-09
arcgis for js柵格圖層疊加(Raster Layer)問(wèn)題
這篇文章主要介紹了arcgis for js柵格圖層疊加(Raster Layer)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11
一個(gè)友好的.改善的 Object.prototype.toString的實(shí)現(xiàn)
一個(gè)友好的.改善的 Object.prototype.toString的實(shí)現(xiàn)...2007-04-04
JS監(jiān)聽dom高度變化幾種常用方法總結(jié)
我們?cè)陂_發(fā)中會(huì)遇到一些需求,需要監(jiān)聽元素變化,比如元素屬性變化,元素大小變化,這篇文章主要給大家介紹了關(guān)于JS監(jiān)聽dom高度變化幾種常用方法的相關(guān)資料,需要的朋友可以參考下2023-10-10
JavaScript實(shí)現(xiàn)點(diǎn)擊切換驗(yàn)證碼及校驗(yàn)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)點(diǎn)擊切換驗(yàn)證碼及校驗(yàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01
javascript實(shí)現(xiàn)類似超鏈接的效果
這篇文章主要介紹了使用javascript實(shí)現(xiàn)類似超鏈接的效果的特效,通過(guò)示例熟悉javascript事件,這里推薦給大家。2014-12-12

