leetcode 第三题,已知两个已排序的矩阵nums1,nums2,大小分别为m,n,函数返回两个矩阵的中间值
例如:
情境1:
nums1 = [1, 3]
nums2 = [2]
The median is 2.0
情境2:
nums1 = [1, 2]
nums2 = [3, 4]
例如:
情境1:
nums1 = [1, 3]
nums2 = [2]
The median is 2.0
情境2:
nums1 = [1, 2]
nums2 = [3, 4]
The median is (2 + 3)/2 = 2.5
代码为:
class Solution {
public:
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
int m=nums1.size()+nums2.size();
vector<int> nu(m);
nu.assign(nums1.begin(), nums1.end());
nu.insert(nu.begin()+nums1.size(), nums2.begin(), nums2.end());
sort(nu.begin(), nu.end());
if (m%2==0)
return (double)(nu[m/2-1]+nu[m/2])/2;
else
return nu[m/2];
}
};