There are two sorted arrays nums1 and nums2 of size m and n respectively.
Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
Example 1:
nums1 = [1, 3] nums2 = [2] The median is 2.0
Example 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) {
vector<int> vec;
double result;
for(int i=0;i<nums1.size();i++)
vec.push_back(nums1[i]);
for(int i=0;i<nums2.size();i++)
vec.push_back(nums2[i]);
sort(vec.begin(),vec.end());
int num=vec.size();
if(num%2==0)
result=double(vec[num/2-1]+vec[num/2])/2;
else
result=vec[(num-1)/2];
return result;
}
};
注意:
if(num%2==0)
result=double(vec[num/2-1]+vec[num/2])/2;
要强制将结果转换为double型,不然结果是2.5会转换成int型的2
用sort算法排序即可。