Przepraszam przypuszczałem że jak dam submit na portalu to zobaczysz mój kod. O to moje rozwiązanie które dostało Accepted. Złożoność to (m+n)/2. Nie udało mi się osiągnąć złożoności log(n+m):
class Solution {
public:
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
unsigned long long l = (nums1.size() + nums2.size()) / 2 + 1;
unsigned long long r = (nums1.size() + nums2.size()) % 2;
unsigned long long n1 = 0;
unsigned long long n2 = 0;
vector<int> half;
for(unsigned long long i = 0; i < l; ++i)
{
if(n1 == nums1.size())
{
half.push_back(nums2[n2]);
++n2;
}
else if(n2 == nums2.size())
{
half.push_back(nums1[n1]);
++n1;
}
else if(nums1[n1] < nums2[n2])
{
half.push_back(nums1[n1]);
++n1;
}
else
{
half.push_back(nums2[n2]);
++n2;
}
}
if(r)
{
return (double)half.back();
}
else
{
return ((double)half.back() + (double)half[l - 2]) / 2;
}
}
};
Przemek Biernat