LeetCode-Median of Two Sorted Arrays
2013-07-06 21:05
369 查看
class Solution { public: //Median of Two Sorted Arrays double findMedianSortedArrays(int A[], int m, int B[], int n) { // Start typing your C/C++ solution below // DO NOT write int main() function if (m == 0) { int mid = n / 2; if (n % 2 == 1) { return (double)B[mid]; } else { return (double)(B[mid] + B[mid - 1]) / 2; } } if (n == 0) { int mid = m / 2; if (m % 2 == 1) { return (double)A[mid]; } else { return (double)(A[mid] + A[mid - 1]) / 2; } } int maxInt = 2147483647; int i = 0,j = 0; int medianA = A[0]; int medianB = B[0]; int cnt = (m + n) / 2; while (cnt--) { if (medianA < medianB) { if (i < m - 1) { medianA = A[++i]; } else { medianA = maxInt; i = m; } } else { if (j < n - 1) { medianB = B[++j]; } else { medianB = maxInt; j = n; } } } int rightMedian = medianA < medianB ? medianA : medianB; if ((m + n) % 2 == 1) { return (double)rightMedian; } else { int leftMedian = 0; if (i > 0 && j > 0) { leftMedian = A[i - 1] > B[j - 1] ? A[i - 1] : B[j - 1]; } else if (i > 0) { leftMedian = A[i - 1]; } else if (j > 0) { leftMedian = B[j - 1]; } return (double)(leftMedian + rightMedian) / 2; } } };
相关文章推荐
- 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
- 【LeetCode】4. Median of Two Sorted Arrays
- 【JAVA、C++】LeetCode 004 Median of Two Sorted Arrays
- Leetcode_Median of Two Sorted Arrays
- LeetCode-4-Median-of-Two-Sorted-Arrays 递归求两有序数组第k小
- leetcode 4. Median of Two Sorted Arrays
- Leetcode 解题 Median of Two sorted arrays
- LeetCode Median of Two Sorted Arrays
- [LeetCode] Median of Two Sorted Arrays
- Leetcode-Median of Two Sorted Arrays (java)
- LeetCode: Median of Two Sorted Arrays
- Median of Two Sorted Arrays[leetcode] O(nlogn)的两种思路
- Leetcode: Median of Two Sorted Arrays
- LeetCode Median of Two Sorted Arrays
- LeetCode:Median of Two Sorted Arrays
- Leetcode Median of Two Sorted Arrays