可以用归并排序的一部分来解,但是排名不怎么样。
class Solution {
public:
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
unsigned len1 = nums1.size();
unsigned len2 = nums2.size();
vector<int> nums;
unsigned i1 = 0, i2 = 0;
double ret = 0.0;
while (i1<len1&&i2<len2)
{
if (nums1[i1] < nums2[i2])
{
nums.push_back(nums1[i1]);
i1++;
}
else
{
nums.push_back(nums2[i2]);
i2++;
}
}
while (i1 < len1)
nums.push_back(nums1[i1++]);
while (i2 < len2)
nums.push_back(nums2[i2++]);
int len = len1 + len2;
if (len%2==0)
{
ret = (nums[len / 2 - 1] + nums[len / 2]) / 2.0;
}
else
{
ret = nums[len / 2 ];
}
return ret;
}
};