हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की दो क्रमबद्ध सरणी लेता है। फ़ंक्शन को दोनों सरणियों को एक साथ मर्ज करके एक परिणामी क्रमबद्ध सरणी बनाना चाहिए और उस सरणी को लौटाना चाहिए।
उदाहरण के लिए -
यदि दो सरणी हैं -
const arr1 = [2, 6, 6, 8, 9]; const arr2 = [1, 4, 5, 7];
तो आउटपुट सरणी होनी चाहिए -
const output = [1, 2, 4, 6, 6, 7, 8, 9];
उदाहरण
इसके लिए कोड होगा -
const arr1 = [2, 6, 6, 8, 9];
const arr2 = [1, 4, 5, 7];
const mergeSortedArrays = (arr1 = [], arr2 = []) => {
let m = arr1.length;
let n = arr2.length;
let currentIndex = m + n;
const checkNum1HasLargerNumber = (a, b) => {
if (a < 0) {
return false;
};
if (b < 0) {
return true;
};
return arr1[a] >= arr2[b];
};
m -= 1;
n -= 1;
while (currentIndex--) {
let hasNums1LargerNumber = checkNum1HasLargerNumber(m, n);
arr1[currentIndex] = hasNums1LargerNumber ? arr1[m] : arr2[n];
if (hasNums1LargerNumber) {
m -= 1;
} else {
n -= 1;
}
};
};
mergeSortedArrays(arr1, arr2);
console.log(arr1);
आउटपुट
कंसोल में आउटपुट होगा -
[
1, 2, 4, 5, 6,
6, 7, 8, 9
]