leetcode/4.median-of-two-sorted-arrays.ts
2025-07-31 12:57:46 +02:00

45 lines
866 B
TypeScript

// @leet start
function findMedianSortedArrays(nums1: number[], nums2: number[]): number {
const merged: number[] = [];
let aIndex = 0;
let bIndex = 0;
while (true) {
const a = nums1[aIndex];
const b = nums2[bIndex];
if (a === undefined && b === undefined) {
break;
}
if (a === undefined && b !== undefined) {
merged.push(b);
bIndex++;
}
if (a !== undefined && b === undefined) {
merged.push(a);
aIndex++;
}
if (a !== undefined && b !== undefined) {
if (a <= b) {
merged.push(a);
aIndex++;
} else {
merged.push(b);
bIndex++;
}
}
}
let median: number;
if (merged.length % 2 === 0) {
const left = Math.floor((merged.length - 1) / 2);
const right = left + 1;
median = (merged[left] + merged[right]) / 2;
} else {
median = merged[(merged.length - 1) / 2];
}
return median;
}
// @leet end