/**
-
@param {number[]} nums1
-
@param {number[]} nums2
-
@return {number}
*/
var findMedianSortedArrays = function(nums1, nums2) {
let count,target,now1,now2,answer,flag;
count = nums1.length+nums2.length
if(count%2===0){
answer = [];
target = [count/2-1,count/2];
now1 = nums1.length%2===0?nums1.length/2-1:Math.ceil(nums1.length/2)-1;
now2 = nums2.length%2===0?nums2.length/2-1:Math.ceil(nums2.length/2)-1;
while(1){
if(answer.length===1){
}else if(answer.length===2){
answer = (answer[0]+answer[1])/2;
break;
}else{
}
}
}else{
answer = 0;
target = Math.ceil(count/2)-1;
now1 = nums1.length%2===0?nums1.length/2-1:Math.floor(nums1.length/2);
now2 = nums2.length%2===0?nums2.length/2-1:Math.floor(nums2.length/2);
while(1){
if(nums1[now1]<nums2[now2]){//中值对比
if(flag===1){break;}
flag = -1;
}else{
if(flag===-1){break;}
flag = 1;
}
if(nums1[now1-flag]===undefined){
now2 = now2+flag
}else if(nums2[now2+flag]===undefined){
now1 = now1-flag
}else{
if(now1+now2===target-1){
now2 = now2+flag
}else if(now1+now2===target-2){
now1 = now1-flag
}
}
}
if(now1+now2+1 ===target && ){
answer = nums1[now1]>nums2[now2]?nums1[now1]:nums2[now2];
break;
}
}
/*
首先进行中值比对,在维持对比的两个数下标和为target-1 或target-2的范围内的情况下
进行移动,直到找到某个数在另一数组中的位置,然后根据这个数的位置,推测target是2数组的下一位,还是1数组的下一位
*/
/*
取短数组的中位数,去另一数组获取插入位置,通过插入位置向target排序
获取插入位置可以使用二分查找
*/
console.log(target,now1,now2,count,answer);
return answer;
};