您的位置:首页 > 其它

【Leet Code】Median of Two Sorted Arrays

2014-08-21 12:18 357 查看






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;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: