您的位置:首页 > 其它

LeetCode-Median of Two Sorted Arrays-计算中值-有序表合并

2014-10-03 19:38 302 查看
https://oj.leetcode.com/problems/median-of-two-sorted-arrays/

合并两个有序表,MergeSort的一部分的那个算法。幸运的是stl提供了merge函数。

复习一下这个函数的签名:

merge(first1,end1,first2,end2,destFirst)

这里要注意的是需要实现分配好destFirst的空间,不然是不对的。

另外一个函数签名一样的:

set_union

这个会把重复元素除掉,需要注意。

class Solution {
public:
double findMedianSortedArrays(int A[], int m, int B[], int n) {
vector <int> c(m+n);
vector <int> a(A,A+m);
vector <int> b(B,B+n);

merge(a.begin(),a.end(),b.begin(),b.end(),c.begin());
n=m+n;
if (n%2==0){
int l=c[n/2-1];
int r=c[n/2];
return double(l+r)*0.5;
}
else{
return c[n/2];
}
}
};


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: