Median of Two Sorted Arrays
Total Accepted: 17932 Total
Submissions: 103927My Submissions
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)).
注意这里,There are two sorted arrays(这是两个已经排好序的数组),一看到我就想到了归并排序法,没有使用递归调用,但是任然可以AC:
class Solution { public: double findMedianSortedArrays(int A[], int m, int B[], int n) { int i = 0, j = 0, k = 0; double r; int* result = new int[m + n]; while( i < m && j < n ) { if( A[i] < B[j] ) { result[k++] = A[i++]; } else { result[k++] = B[j++]; } } while( i < m ) { result[k++] = A[i++]; } while( j < n ) { result[k++] = B[j++]; } if( 1 == (m + n)%2 ) { r = result[(m + n - 1) / 2]; } else { r = (double)( result[(m + n - 2) / 2] + result[(m + n) / 2] ) / 2; } delete [] result; return r; } };
【Leet Code】Median of Two Sorted Arrays
时间: 2024-11-07 11:38:09