Median of Two Sorted Arrays (JAVA)
2014-01-01 08:31
351 查看
class Solution { public double findKth(int a[], int startA, int m, int b[], int startB, int n, int k) { if (m > n) return findKth(b, startB, n, a, startA, m, k); if (m == 0) return b[startB + k-1]; if (k == 1) return min(a[startA], b[startB]); int pa = min(k/2, m), pb = k - pa; if (a[startA + pa-1] < b[startB + pb-1]) return findKth(a, startA + pa, m-pa, b, startB, n, k - pa); else return findKth(a, startA, m, b, startB + pb, n-pb, k-pb); } public void test() { } private int min(int a, int b){ return a > b ? b : a; } public double findMedianSortedArrays(int A[], int B[]) { int m = A.length; int n = B.length; int total = m+n; if ((total&1) == 1) return findKth(A, 0, m, B, 0, n, total/2+1); else return (findKth(A, 0, m, B, 0, n, total/2) + findKth(A, 0, m, B, 0, n, total/2+1))/2; } };
相关文章推荐
- leetcode Median of Two Sorted Arrays(Java)
- 【LeetCode-面试算法经典-Java实现】【004-Median of Two Sorted Arrays(两个排序数组的中位数)】
- [LeetCode]Median of Two Sorted Arrays(Java)
- Median of Two Sorted Arrays (Java)
- LeetCode – Median of Two Sorted Arrays Java
- LeetCode 4 — Median of Two Sorted Arrays (C++ Java Python)
- Leetcode平台上的Median of Two Sorted Arrays题目用Java快排实现
- [LeetCode][Java] Median of Two Sorted Arrays
- Leetcode 4 Median of Two Sorted Arrays Java
- Java [leetcode 4] Median of Two Sorted Arrays
- leetcode 004 Median of Two Sorted Arrays(java)
- Leetcode平台上的Median of Two Sorted Arrays题目用Java堆算法实现
- leetcode:Median of Two Sorted Arrays 【Java】
- JavaShowAlgorithm-Median of Two Sorted Arrays
- Java实现Median of Two Sorted Arrays
- Median of Two Sorted Arrays Java
- Leetcode 第四题< Median of Two Sorted Arrays>(Java)
- LeetCode : Median of Two Sorted Arrays [java]
- Leetcode: Median of Two Sorted Arrays. java.
- LeetCode, Median of Two Sorted Arrays, Java Solution, O(m+n), O(log(m+n))