class Solution {
public:
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
int len1 = nums1.size(),len2 = nums2.size();
int tsize = len1 + len2;
double ans;
int i,j,prev,cur,cnt;
i = j = prev = cur = cnt = 0;
while(cnt <= tsize / 2){
prev = cur;
if(i == len1)cur = nums2[j++];
else if(j == len2)cur = nums1[i ++];
else{
if(nums1[i] < nums2[j])cur = nums1[i++];
else cur = nums2[j ++];
}
cnt ++;
}
if(tsize % 2 == 0){
return (prev + cur) / 2.0;
}else return cur;
}
};
"""
朴素暴力解法, return的时候 要转化为double类型即相加后除以 2.0,否则会导致结果(2 + 5)/ 2为2.0000;
注意边界问题,为单数的时候返回的究竟是 cur还是prev
要理解cur = nums[j ++]
"""