Median of Two Sorted Arrays(OO)
来源:互联网 发布:java io流怎么用 编辑:程序博客网 时间:2024/06/02 03:07
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)).
这题有点麻烦,考虑情况较多
1. median为中位数,如果为偶,则为中间两数平均值
2. [],[2,3] 应该是2.5
3. [1] [1] 应该是1
4. [2,2] [2]应该是2
真是考察逻辑缜密程序
错误集:
1.
for(i=0,j=0;i<m&&j<n;)//这里应该是&&,而不是逗号2.
return B[(m+n)/2 - m];//当为单并且走完一个数组时,返回的值,不能加1
3.
当m+n为偶数时,得到numbb时可直接返回了
class Solution {public: double findMedianSortedArrays(int A[], int m, int B[], int n) { if(m==0) { if(n%2==1) return B[n/2]; else return (B[n/2-1]+B[n/2])/2.0; } if(n==0) { if(m%2==1) return A[m/2]; else return (A[m/2-1]+A[m/2])/2.0; } double mediasum; int cnt=0; int i,j; int numba, numbb; if((m+n)%2==1) { for(i=0,j=0;i<m&&j<n;) { if(A[i]<=B[j]) { cnt++; if(cnt==(m+n)/2+1) return A[i]; i++; } else { cnt++; if(cnt==(m+n)/2+1) return B[j]; j++; } } if(i==m) return B[(m+n)/2 - m]; if(j==n) return A[(m+n)/2 - n]; } else { for(i=0,j=0;i<m&&j<n;) { if(A[i]<=B[j]) { cnt++; if(cnt==(m+n)/2) numba=A[i]; if(cnt==(m+n)/2+1) { numbb=A[i]; return (numba+numbb)/2.0; } i++; } else { cnt++; if(cnt==(m+n)/2) numba=B[j]; if(cnt==(m+n)/2+1) { numbb=B[j]; return (numba+numbb)/2.0; } j++; } } if(i==m) { while(j<n) { cnt++; if(cnt==(m+n)/2) numba=B[j]; if(cnt==(m+n)/2+1) { numbb=B[j]; return (numba+numbb)/2.0; } j++; } } if(j==n) { while(i<m) { cnt++; if(cnt==(m+n)/2) numba=A[i]; if(cnt==(m+n)/2+1) { numbb=A[i]; return (numba+numbb)/2.0; } i++; } } mediasum = (numba+numbb)/2.0; } return mediasum; }};
0 0
- Median of Two Sorted Arrays(OO)
- 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
- TLD的Matlab源码学习
- 天才 法布里斯贝拉(Fabrice Bellard)
- java实现插入排序
- leveldb研究系列五——Ssttable组件
- C# 检查字符串,防SQL注入攻击
- Median of Two Sorted Arrays(OO)
- Android各种屏幕分辨率(VGA、HVGA、QVGA、WQVGA、WVGA、FWVGA) 详解 .
- fopen()函数与fread()函数区别
- 对ASP.NET页面生命周期总结(2)
- google hacking
- [C#] TextBox限制输入长度(中文字算2码)
- jsp乱码处理
- 10个有用的第三方iOS开源库
- HOSt ip is not allowed to connect to this MySql server