Median of Two Sorted Arrays
来源:互联网 发布:linux关机执行脚本 编辑:程序博客网 时间:2024/05/11 17:46
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)).
用二分的方法求合并数组的中值。用找第k大的值来求,不断去掉较小的一半,解法很妙。
class Solution{public: double kthNum(int A[], int m, int B[], int n, int k){ if(m > n) return kthNum(B,n,A,m,k); if(m == 0) return B[k-1]; if(k == 1) return min(A[0],B[0]); int pa = min(k/2,m), pb = k - pa; if(A[pa-1] < B[pb-1]) return kthNum(A+pa,m-pa,B,n,k-pa); else if(A[pa-1] > B[pb-1]) return kthNum(A,n,B+pb,n-pb,k-pb); else return A[pa-1]; } double findMedianSortedArrays(int A[], int m, int B[],int n){ if((m+n)&1) return kthNum(A,m,B,n,(m+n)/2+1); else return (kthNum(A,m,B,n,(m+n)/2)+kthNum(A,m,B,n,(m+n)/2+1)) /2; }};
0 0
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of two sorted arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- median-of-two-sorted-arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- spring 事务管理属性为只读read-only="true"是什么意思
- Edit Distance (Java)
- VC编译选项 /ML /MLd /MT /MTd /MD /MDd之间的区别
- Leetcode NO.33 Search in Rotated Sorted Array
- objective-c 的引用计数管理
- Median of Two Sorted Arrays
- OpenStack虚拟机创建过程中镜像格式的的变化过程
- JavaScript: 再论setTimeout、setInterval。其第三个参数和this的讨论,超时嵌套和内存泄漏
- Eclipse 一直Building Workspace 的解决办法
- 外内核Exokernels
- FormCloseQuery中加入CanClose = false无法正常关机问题解决
- urlparse urllib
- 利用windows组策略首选项缺陷获取系统帐号
- Android Fragment 真正的完全解析(上)