国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript實現數組全排列、去重及求最大值算法示例

2024-05-06 15:32:20
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript實現數組全排列、去重及求最大值算法。分享給大家供大家參考,具體如下:

1、全排列(遞歸)

function permutation(arr){  if (arr.length == 1)    return arr;  else if (arr.length == 2)    return [[arr[0],arr[1]],[arr[1],arr[0]]];  else {    var temp = [];    for (var i = 0; i < arr.length; i++) {      var save = arr[i];      arr.splice(i, 1);//取出arr[i]      var res = permutation(arr);//遞歸排列arr[0],arr[1],...,arr[i-1],arr[i+1],...,arr[n]      arr.splice(i, 0, save);//將arr[j]放入數組,保持原來的位置      for (var j = 0; j < res.length; j++) {        res[j].push(arr[i]);        temp.push(res[j]);//將arr[j]組合起來      }    }    return temp;  }}

2、數組去重

方法一:

function norepeat(contents) {  var norepeatContents = [];  for (var i = 0; i < contents.length; i++) {    if(norepeatContents.indexOf(contents[i]) == -1)      norepeatContents.push(contents[i]);  }  return norepeatContents;}

方法二:

function norepeat(contents) {  var norepeatContents = [], hash = {};  for (var i = 0; i < contents.length; i++) {    if(!hash[contents[i]]) {      norepeatContents.push(contents[i]);      hash[contents[i]] = true;    }  }  return norepeatContents;}

3、求數組最大數

方法一:

function findMax(arr) {  var max = arr[0];  for (var i = 1; i < arr.length; i++) {    if (arr[i] > max)      max = arr[i];  }  return max;}

方法二:

function findMax(arr) {  return Math.max.apply(Math, arr);}

PS:這里再為大家提供幾款相關工具供大家參考使用:

在線去除重復項工具:
http://tools.Vevb.com/code/quchong

在線文本去重復工具:
http://tools.Vevb.com/aideddesign/txt_quchong

在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.Vevb.com/aideddesign/paixu_ys

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數組操作技巧總結》、《JavaScript字符與字符串操作技巧總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript排序算法總結》、《JavaScript查找算法技巧總結》、《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript錯誤與調試技巧總結》

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 武平县| 秭归县| 安塞县| 昌乐县| 灌南县| 武穴市| 巢湖市| 丹江口市| 察雅县| 交口县| 三门峡市| 噶尔县| 吴堡县| 芷江| 法库县| 东阳市| 五台县| 伊吾县| 瓮安县| 沁阳市| 固安县| 吐鲁番市| 思南县| 黎城县| 张家口市| 北票市| 龙州县| 应用必备| 丹棱县| 敦化市| 庆城县| 馆陶县| 东丰县| 芮城县| 台南市| 鄂托克旗| 武邑县| 百色市| 休宁县| 南木林县| 万安县|