function findMedianOfTwoSortedArrays(arr1, arr2) {
const size1 = arr1.length;
const size2 = arr2.length;
let i = 0, j = 0;
let mid1 = -1, mid2 = -1;
if ((size2 + size1) % 2 == 1) {
for (let k = 0; k <= (size1 + size2) / 2; k++) {
if (i != size1 && j != size2) {
mid1 = (arr1[i] > arr2[j]) ? arr2[j++] : arr1[i++];
}
else if (i < size1) {
mid1 = arr1[i++];
}
else {
mid1 = arr2[j++];
}
}
return mid1;
}
else {
for (let k = 0; k <= (size1 + size2) / 2; k++) {
mid2 = mid1;
if (i != size1 && j != size2) {
mid1 = (arr1[i] > arr2[j]) ? arr2[j++] : arr1[i++];
}
else if (i < size1) {
mid1 = arr1[i++];
}
else {
mid1 = arr2[j++];
}
}
return parseFloat((mid1 + mid2) / 2);
}
}
const arr1 = [1, 3, 5];
const arr2 = [2, 4, 6];
const median = findMedianOfTwoSortedArrays(arr1, arr2);
console.log("Median: " + median);
/*
run:
Median: 3.5
*/