LeetCode 4 : Median of Two Sorted Arrays ---- 两排序数组的中位数
2016-05-18 16:36
357 查看
原题链接: https://leetcode.com/problems/median-of-two-sorted-arrays/
一:原题内容
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)).
二:分析理解
对于数组个数总和是偶数还是奇数,假如是偶数4和奇数5,我们要分别找到2,3和3,那么我们统一一下,找到3,把3前面的也就是2记录下来,然后判断是奇数还是偶数,进而计算。
三:AC代码
class Solution
{
public:
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2)
{
double ans;
int size1=nums1.size();
int size2=nums2.size();
bool isEven=((size1+size2)%2==0)?true:false;//标记是否是偶数
int breakPoint=(size1+size2)/2+1;//结束位置
int i=0;
int j=0;
int c=0;//记录是否到达中位数的坐标
2
while(i<size1||j<size2)
{
if((i<size1&&j==size2)||(i<size1&&j<size2&&nums1[i]<=nums2[j]))
{
c++;
if(c==breakPoint)
{
if(isEven)//是偶数
{
ans+=nums1[i];
ans/=2.0;
}
else
ans=nums1[i];
break;
}
ans=nums1[i++];
}
else
{
c++;
if(c==breakPoint)
{
if(isEven)
{
ans+=nums2[j];
ans/=2.0;
}
else
ans=nums2[j];
break;
}
ans=nums2[j++];
}
}
return ans;
}
};
返回LeetCode 题解目录
一:原题内容
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)).
二:分析理解
对于数组个数总和是偶数还是奇数,假如是偶数4和奇数5,我们要分别找到2,3和3,那么我们统一一下,找到3,把3前面的也就是2记录下来,然后判断是奇数还是偶数,进而计算。
三:AC代码
class Solution
{
public:
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2)
{
double ans;
int size1=nums1.size();
int size2=nums2.size();
bool isEven=((size1+size2)%2==0)?true:false;//标记是否是偶数
int breakPoint=(size1+size2)/2+1;//结束位置
int i=0;
int j=0;
int c=0;//记录是否到达中位数的坐标
2
while(i<size1||j<size2)
{
if((i<size1&&j==size2)||(i<size1&&j<size2&&nums1[i]<=nums2[j]))
{
c++;
if(c==breakPoint)
{
if(isEven)//是偶数
{
ans+=nums1[i];
ans/=2.0;
}
else
ans=nums1[i];
break;
}
ans=nums1[i++];
}
else
{
c++;
if(c==breakPoint)
{
if(isEven)
{
ans+=nums2[j];
ans/=2.0;
}
else
ans=nums2[j];
break;
}
ans=nums2[j++];
}
}
return ans;
}
};
返回LeetCode 题解目录
相关文章推荐
- ActiveMq 自学(一)
- can't use subversion command line client : svn
- JAVA—对象流
- How to link with the correct C Run-Time (CRT) library
- 【JavaScript】select选中Option
- 正则表达式在iOS中的运用
- ImageView和其加载库浅析
- AFNetWorking 3.0 使用遇到的问题
- 算法-n皇后问题
- 文件的名字重复之后,svn不允许提交到服务器出现以下情况
- 跑马灯无效果问题(TextView隐藏和显示后无效果)
- 子类继承父类的私有成员
- centos6开机自动挂载ntfs硬盘
- web前端培训:为什么懂PHP前端容易被重用
- MySQL的EXPLAIN命令用法
- 什么是企业的固定资产全寿命周期管理
- 第15 章 文件系统的实现
- 工作心得
- J2SE(序)
- java检测对象中是否存在某个属性