[LeetCode]Median of Two Sorted Arrays
2014-05-09 19:57
302 查看
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)).
complexity should be O(log (m+n)).
class Solution { public: double findKth(int A[], int m, int B[], int n, int k) { //always m<=n if(m > n) { return findKth(B, n, A, m, k); } if(m == 0) { return B[k -1]; } if(k == 1) { return min(A[0], B[0]); } //if A[k/2-1] < B[k/2-1], that means all the elements from A[0] to A[k/2-1] //(i.e. the k/2 smallest elements in A) are in the range of k smallest elements in the union of A and B. //Or, in the other word, A[k/2 - 1] can never be larger than the k-th smalleset element in the union of A and B. int posA = min(m, k/2); int posB = k - posA; if(A[posA - 1] < B[posB - 1]) { return findKth(A + posA, m - posA, B, n, k - posA); } else if(A[posA -1] > B[posB - 1]) { return findKth(A, m, B + posB, n - posB, k - posB); } else { return A[posA - 1]; } } double findMedianSortedArrays(int A[], int m, int B[], int n) { if((m+n)&0x01)//odd { return findKth(A, m, B, n,(m + n)/2 + 1); } else //even { return (findKth(A, m, B, n, (m + n)/2) + findKth(A, m, B, n, (m + n)/2 + 1))/2; } } };
相关文章推荐
- LeetCode || Median of Two Sorted Arrays
- leetcode -- Median of Two Sorted Arrays
- Median of Two Sorted Arrays 两个有序数组的中位数@LeetCode
- Leetcode 第四题< Median of Two Sorted Arrays>(Java)
- LeetCode之 Median of Two Sorted Arrays
- LeetCode——Median of Two Sorted Arrays
- leetcode_Median of Two Sorted Arrays
- leetcode_4_median-of-two-sorted-arrays
- LeetCode4—Median of Two Sorted Arrays
- leetcode Median of Two Sorted Arrays
- [LeetCode] Median of Two Sorted Arrays 解题报告
- LeetCode_4---Median of Two Sorted Arrays
- LeetCode-Median of Two Sorted Arrays
- LeetCode 4 - Median of Two Sorted Arrays
- Leetcode 4 Median of Two Sorted Arrays
- 【leetcode】4. Median of Two Sorted Arrays
- LeetCode || Median of Two Sorted Arrays
- [LeetCode]Median of Two Sorted Arrays
- [leetcode][4]Median of Two Sorted Arrays
- LeetCode之Median of Two Sorted Arrays