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 ...