Median of Two Sorted Arrays
来源:互联网 发布:hadoop 知乎 编辑:程序博客网 时间:2024/06/05 16:49
There are two sorted arrays nums1 and nums2 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)).
Example 1:
nums1 = [1, 3]nums2 = [2]The median is 2.0
Example 2:
nums1 = [1, 2]nums2 = [3, 4]The median is (2 + 3)/2 = 2.5
/*有点类似二分的思想*/class Solution {public: int Find(int nums1[],int len1,int nums2[],int len2,int k) { if(len1>len2)return Find(nums2,len2,nums1,len1,k); if(len1==0)return nums2[k-1]; if(k==1)return min(nums1[0],nums2[0]); int i=min(len1,k/2),j=min(len2,k/2); if(nums1[i-1]>nums2[j-1]) { return Find(nums1,len1,nums2+j,len2-j,k-j); } else { return Find(nums1+i,len1-i,nums2,len2,k-i); } } double findMedianSortedArrays(vector<int>&nums1, vector<int>&nums2) { int len1=nums1.size(),len2=nums2.size(); int k1=(len1+len2+1)>>1; int k2=(len1+len2+2)>>1; if(len1==0&&len2==0)return 0; if(len1==0&&len2!=0)return (nums2[k1-1]+nums2[k2-1])/2.0; if(len2==0&&len1!=0)return (nums1[k1-1]+nums1[k2-1])/2.0; int *a=&nums1[0]; int *b=&nums2[0]; return (Find(a,len1,b,len2,k1)+Find(a,len1,b,len2,k2))/2.0; }};
阅读全文
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
- 点击弹出下拉框
- [DP] Codeforces 55D. Coloring Brackets
- dom第五天笔记
- 计算机视觉标准数据集整理
- jQuery学习笔记02
- Median of Two Sorted Arrays
- JavaScript类型检测
- 【数据库基础】数据库完整性基本概念和基本操作
- Ajax+PHP实现无刷新分页效果
- 机器学习-学习笔记 学习总结归纳(第八周)
- Oracle简单操作总结
- 算法--最大整数问题详解
- 51nod 1100 斜率最大
- 深度学习进阶视频3