[LeetCode]Median of Two Sorted Arrays
来源:互联网 发布:win10 linux 双系统 编辑:程序博客网 时间:2024/06/02 06:54
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)).
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; } }};
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
- java文本编辑器v1.0 图形用户界面
- 计算机专业应该掌握的数学知识
- Android中Telephony学习笔记(6)-信号强度类
- SP2010开发和VS2010专家"食谱"--第六章节--Web Services和REST
- POJ_2229 Sumsets
- [LeetCode]Median of Two Sorted Arrays
- eclipse 安装安卓ADT成功,也提示重启了,但是就是没有应该有的小机器人标志
- Weka软件包管理器更新错误的解决方法
- tab键在packettracer的作用
- SP2010开发和VS2010专家"食谱"--第六章节--Web Services和REST(1)--通过REST获得数据
- 装饰模式
- epoll的设计与实现
- struts中OGNL的投影(过滤)
- linux中的poll机制分析