您的位置:首页 > 其它

7-1 两个有序序列的中位数(25 分)

2018-02-22 23:09 344 查看
已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0​​ ,A1,⋯,A​N−1的中位数指A​(N−1)/2的值,即第⌊(N+1)/2⌋个数(A​0为第1个数)。

输入格式:

输入分三行。第一行给出序列的公共长度N(0

5
1 3 5 7 9
2 3 4 5 6


输出样例1:

4


输入样例2:

6
-100 -10 1 1 1 1
-50 0 2 3 4 5


输出样例2:

1


代码如下:

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> C;//两序列的并集
vector<int>::iterator p;
int n,data1,data2;
cin>>n;
for(int i=0; i<n; i++)
{
cin>>data1;
C.push_back(data1);
}
for(int i=0; i<n; i++)
{
cin>>data2;
C.push_back(data2);
}
sort(C.begin(),C.end());
cout<<C[n-1];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: