暴力解决方案(非二分法)
class Solution {
public:
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
int m = nums1.size();
int n = nums2.size();
vector<int> nums3;
if(m !=0 && n != 0)
{
for(int i = 0; i < m+n; i++)
{
if(i < m)
nums3.push_back(nums1[i]);
else
nums3.push_back(nums2[i-m]);
}
sort(nums3.begin(), nums3.end());
cout<<nums3[0]<<endl;
cout<<floor((m+n)/2-0.5)<<ceil((m+n)/2-0.5)<<endl;
cout<<nums3[floor((m+n)/2-0.5)]<<nums3[ceil((m+n)/2-0.5)];
if((m+n)%2 == 0)
{
return (float((nums3[ceil((m+n)/2-0.5)]+nums3[floor((m+n)/2-0.5)]))/2);
}
else
{
return (nums3[(m+n)/2]);
}
}
else
{
if( m == 0)
{
sort(nums2.begin(), nums2.end());
if(n%2 == 0)
return (float((nums2[ceil(n/2-0.5)]+nums2[floor(n/2-0.5)]))/2);
else
return (nums2[n/2]);
}
else
{
sort(nums1.begin(), nums1.end());
if(m%2 == 0)
return (float((nums1[ceil(m/2-0.5)]+nums1[floor(m/2-0.5)]))/2);
else
return (nums1[m/2]);
}
}
}
};