一、题目
二、代码
class Solution {
public:
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
//创建向量容器,用来存储nums1和nums2排序后的值
vector<int> nums3;
//定义nums1容器索引
int i=0;
//定义nums2容器索引
int j=0;
//当两个容器内都存在值时,执行循环
while(i<nums1.size() && j<nums2.size())
{
//nums1和nums2中较小的值插入nums3中完成排序
if(nums1[i] <= nums2[j])
{
nums3.push_back(nums1[i]);
i++;
}
else
{
nums3.push_back(nums2[j]);
j++;
}
}
//若nums1内不存在值
if(i==nums1.size())
{
//将nums2剩余的值存入nums3
while(j!=nums2.size())
{
nums3.push_back(nums2[j]);
j++;
}
}
//若nums2内不存在值
if(j==nums2.size())
{
//将nums1剩余的值存入nums3
while(i!=nums1.size())
{
nums3.push_back(nums1[i]);
i++;
}
}
//若nums3容器大小为偶数,则取中间两数平均值作为中位数返回
if(nums3.size()%2 == 0)
{
return ((double)(nums3[nums3.size()/2-1]+nums3[nums3.size()/2]))/2;
}
//若nums3容器大小为奇数,则取最中间的值作为中位数返回
else
{
return ((double)(nums3[(nums3.size()-1)/2]));
}
}
};