使用 JavaScript 將兩個已排序的數組合併成一個已排序的陣列
問題
我們需要編寫一個 JavaScript 函式,該函式接受兩個已排序的數字陣列,我們的函式應將兩個陣列的所有元素合併到一個新陣列中,並按相同順序返回該新陣列。
示例
以下是程式碼 −
const arr1 = [1, 3, 4, 5, 6, 8];
const arr2 = [4, 6, 8, 9, 11];
const mergeSortedArrays = (arr1 = [], arr2 = []) => {
const res = [];
let i = 0;
let j = 0;
while(i < arr1.length && j < arr2.length){
if(arr1[i] < arr2[j]){
res.push(arr1[i]);
i++;
}else{
res.push(arr2[j]);
j++;
}
};
while(i < arr1.length){
res.push(arr1[i]);
i++;
};
while(j < arr2.length){
res.push(arr2[j]);
j++;
};
return res;
};
console.log(mergeSortedArrays(arr1, arr2));輸出
[ 1, 3, 4, 4, 5, 6, 6, 8, 8, 9, 11 ]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP