链接:寻找两个正序数组的中位数
描述:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。
输入:nums1 = [1,2], nums2 = [3,4]
输出:2.50000
解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5
要求:设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题
思路:一开始想到的就是sort,有轮子何必还要造轮子呢。代码和运行结果是这样的:
class Solution {
public:
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
int m = nums1.size(), n = nums2.size();
double answer;
vector<double>num;
num.insert(num.end(), nums1.begin(), nums1.end());
num.insert(num.end(), nums2.begin(), nums2.end());
sort(num.begin(), num.end());
int a = (m+n)/2, i = 0, j = 0;
if((m+n)%2)
{
answer = num[(m