Leetcode: Median of Two Sorted Arrays
来源:互联网 发布:淘宝为什么不卖烟 编辑:程序博客网 时间:2024/06/16 08:36
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)).
If we can find kth element of two sorted arrays, then it would be easy to find the median of the two arrays. Use recursion to find kth element of two arrays: use binary search, compare the k/2 th elements in each array, and delete the left part of the smaller one, continue to find k - k/2 th element of the rested arrays, until k = 1, which means that a total number of k - 1 smallest elements are deleted.
public class Solution { public double findMedianSortedArrays(int A[], int B[]) { int size = A.length + B.length; if (size % 2 == 0) { return (findKth(A, 0, B, 0, size / 2) + findKth(A, 0, B, 0, size / 2 + 1)) / 2.0; } else { return findKth(A, 0, B, 0, size / 2 + 1); } } private int findKth(int[] A, int A_start, int[] B, int B_start, int k) { if (A_start >= A.length) { return B[B_start + k - 1]; } if (B_start >= B.length) { return A[A_start + k - 1]; } if (k == 1) { return Math.min(A[A_start], B[B_start]); } int A_key = A_start + k / 2 - 1 < A.length ? A[A_start + k / 2 - 1] : Integer.MAX_VALUE; int B_key = B_start + k / 2 - 1 < B.length ? B[B_start + k / 2 - 1] : Integer.MAX_VALUE; if (A_key < B_key) { return findKth(A, A_start + k / 2, B, B_start, k - k / 2); } else { return findKth(A, A_start, B, B_start + k / 2, k - k / 2); } }}
0 0
- LeetCode: Median of Two Sorted Arrays
- LeetCode Median of Two Sorted Arrays
- leetcode 26: 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]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
- [leetcode] Median of Two Sorted Arrays
- leetcode-004: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 - Median of Two Sorted Arrays
- [LeetCode]Median of Two Sorted Arrays
- linux下编译c文件的过程(gcc)
- 25. 其他主题
- 信息系统集成专业技术
- 写作还是需要锻炼呀
- 黑马程序员——OC三大特性之封装
- Leetcode: Median of Two Sorted Arrays
- 字符设备驱动程序之查询方式的按键驱动程序
- changerlayer.il allegro的il
- maven打war包,包括其依赖包
- Java三大框架
- 详解如何加载SKILL文件及allegro.ilinit内容解析
- 黑马程序员——函数的重载
- mysql存储引擎
- Android的Window类