double Algorithm::findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2)
{
int m = nums1.size();
int n = nums2.size();
int nCount = (m + n) / 2;
int nLast = (m + n) % 2;
vector<int> vecMerge;
int im = 0, in = 0;
for (int i = 0; i < nCount + 1; i++)
{
if (im >= m)
{
vecMerge.push_back(nums2[in]);
in++;
}
else if (in >= n)
{
vecMerge.push_back(nums1[im]);
im++;
}
else
{
if (nums1[im] <= nums2[in])
{
vecMerge.push_back(nums1[im]);
im++;
}
else
{
vecMerge.push_back(nums2[in]);
in++;
}
}
}
double fMid = 0.0;
if (vecMerge.size() == 0)
return fMid;
if (nLast == 1)
{
fMid = vecMerge[nCount];
}
else
{
fMid = (vecMerge[nCount - 1] + vecMerge[nCount]) * 0.5;
}
return fMid;
}