js合併多個有序陣列(排序 去重)

2021-10-21 03:42:27 字數 920 閱讀 5189

var arr = [[12,2],[23,5],[55,67],[12,23]]

//只合併

function concat1(arr) )

}console.log(concat1(arr),'只合併')

//[12,2,23,5,55,67,12,23]

//如果需要從小到大排序

function concat2(arr) ).sort( function (a,b) )

}console.log(concat2(arr),'合併並排序')

//[2,5,12,12,23,23,55,67]

//箭頭函式 合併從小到大排序

let result1 = arr.reduce((a,b) => a.concat(b)).sort((a,b) => a-b)

console.log(result1,'es6綜合')

//[2,5,12,12,23,23,55,67]

//合併排序並去重

let result2 = [...new set(arr.reduce((a,b) => a.concat(b)).sort((a,b) => a-b))]

console.log(result2,'將將最精簡的版本')

//[2,5,12,23,55,67]

//求和

var arr1 = [1, 3, 5, 7, 9];

arr1.reduce(function (x, y) );

//陣列扁平化

var arr2 = [1,[2,[3,[4,[5,6]]]]]

function ****** (arr) ,)

}console.log(******(arr2)) //[1,2,3,4,5,6]

合併多個有序陣列

合併m個有序陣列。解析 1 歸併排序的變形。兩兩歸併,假設所有元素和為n,由於歸併排序的複雜度為o nlogn 則即使最後一路歸併複雜度都至少了o nlogn log為以2為底。2 將所有的元素放到乙個陣列中,直接進行排序,複雜度為o nlogn 3 堆排序的變形,使用優先順序佇列,建立乙個m的小堆...

排序陣列去重

給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。給定陣列 nums 1,1,2 函式應該返回新的長度 2,並且原陣列 nums 的前兩個元素被修改為 1,2。你不...

演算法題 有序陣列去重

將有序陣列去重並且列印去重之後的長度。快慢指標思想,邏輯上的指標,並非 這個指標 定義兩個指標slow,fast。fast逐個遍歷元素,如果與slow不同,則把slow所指元素列印出來,如果與slow所指元素相同,則fast 1,直至遍歷結束。include using namespace std ...