Median of Two Sorted Arrays
来源:互联网 发布:key查看器软件 编辑:程序博客网 时间:2024/06/06 15:02
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 findMedianSortedArrays(int A[], int m, int B[], int n) {int count=0,i=0,j=0;int mid1 = 0,mid2=0;if((m+n)<=2){if(m==0 && n==0)return 0;else if((m+n)==1){if(m==0)return B[0];elsereturn A[0];}else if((m+n)==2){if(m==0)return (B[0]+B[1])/2.0;else if(n==0)return (A[0]+A[1])/2.0;elsereturn (A[0]+B[0])/2.0;}}else if(m==0){if(n%2==0)return (B[n/2-1]+B[n/2])/2.0;elsereturn B[n/2];}else{for(i=0;i<m;){if(j<n){if(A[i]<=B[j]){++count;if(count==(m+n)/2)mid1 = A[i]; if(count==((m+n)/2+1))mid2 = A[i];++i;}}else{++count;if(count==(m+n)/2)mid1 = A[i]; if(count==((m+n)/2+1))mid2 = A[i];++i;}for(;j<n;){if(i<m){if(A[i]>B[j]){++count;if(count==(m+n)/2)mid1 = B[j]; if(count==((m+n)/2+1))mid2 = B[j];++j;}elsebreak;}else{++count;if(count==(m+n)/2)mid1 = B[j]; if(count==((m+n)/2+1))mid2 = B[j];++j;}}}}if((m+n)%2==0)return (mid1+mid2)/2.0;elsereturn mid2;}};
For now,it is not so complicated as I saw it for the first time.Just use a counter and two pointer that points the array respectively,the counter stands for number in the count place and the pointer point the current element.It is worth mentioning that we have to consider the special situation(when the array is empty),and the index is always one less than the number.
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
- 4月的中国:XP据半壁江山、Win7/Win8小增
- 利用Global 的BeginRequest事件实现域名的重写
- Objective-c中@class和#import的区别
- HDU 4720 :Naive and Silly Muggles
- miller-rabin,Pollard_rho算法
- Median of Two Sorted Arrays
- oracle的tnsping与TCPIP的ping命令的比较
- iOS小效果(4)按钮按下显示不同的效果
- eclipse 反编译插件 jdeclipse
- 内核memblock的知识
- nodejs安装
- iWatch零部件开始量产 环旭电子或大幅受益
- spring mvc用rest注解时的文件上传和参数传递
- 苹果OS X全新界面及iOS 8或将在WWDC上揭晓