function findMedianSortedArrays(nums1, nums2) {
debugger;
let totalLen = nums1.length + nums2.length;
let mid = Math.floor((totalLen - 1) / 2);
let arrs = [nums1, nums2];
let skipArr = [0, 0];
let pointer = nums1[0] <= nums2[0] ? 0 : 1;
let loopCnt = 20;
while (loopCnt-- >= 0) {
let skip = skipArr[pointer];
let arr = arrs[pointer];
let val = arr[skip];
let nextPointer = (pointer + 1) % 2;
let nextArr = arrs[nextPointer];
let nextArrSkip = skipArr[nextPointer];
let nextSkip = expSearchGte(
arrs[pointer],
skipArr[pointer],
nextArr[nextArrSkip]
);
let nextSkipSafe = nextSkip === -1 ? arr.length - 1 : nextSkip;
if (mid < nextSkipSafe + nextArrSkip + 2) {
if (nextSkip === -1) {
} else {
}
let remain =
mid - (nextSkip === -1 ? arr.length : nextSkip + 1) - nextArrSkip;
let r = nextArrSkip + remain < 0 ? arr[nextSkip === -1 ? arr.length + remain : ] : nextArr[nextArrSkip + remain];
return r;
}
if (mid === nextSkipSafe + nextArrSkip + 2) {
return arr[nextSkipSafe];
}
skipArr[pointer] = nextSkipSafe;
pointer = nextPointer;
}
return -1;
}