1 class Solution { 2 public: 3 double findMedianSortedArrays(int A[], int m, int B[], int n) { 4 vector<int> v(m+n); 5 for(int i=0;i<m;i++) 6 { 7 v[i]=A[i]; 8 } 9 for(int j=0;j<n;j++) 10 { 11 v[m+j]=B[j]; 12 } 13 14 sort(v.begin(),v.end()); 15 16 if((m+n)%2==0) 17 { 18 return (v[(m+n)/2-1]+v[(m+n)/2])*0.5; 19 } 20 else 21 { 22 return v[(m+n)/2]; 23 } 24 25 } 26 };
There are two sorted arrays A and B 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)).