题目1004:Median
#include <stdio.h>
#include <iostream>
#include <stack>
#include <string.h>
#include <queue>
#include <cmath>
#include <vector>
#include <algorithm>
#include <map>
#include <set>
#include <string>
using namespace std;
typedef long long LL;
int ans[1000000];
int main() {
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
int t1, t2;
while(scanf("%d", &t1) != EOF) {
vector<int> v1;
for(int i = 0; i < t1; i++){
int temp;
cin >> temp;
v1.push_back(temp);
}
cin >> t2;
for(int i = 0; i < t2; i++){
int temp;
cin >> temp;
v1.push_back(temp);
}
sort(v1.begin(), v1.end());
if(v1.size() % 2 == 0){
cout << v1[v1.size() / 2 - 1] << endl;
}else {
cout << v1[v1.size() / 2] << endl;
}
}
return 0;
}
/**************************************************************
Problem: 1004
User: Crazy_man
Language: C++
Result: Accepted
Time:10 ms
Memory:5424 kb
****************************************************************/
本文介绍了一种求解两个已排序整数序列中位数的算法,通过合并两个序列并排序来找到中位数,提供了完整的C++实现代码。
664

被折叠的 条评论
为什么被折叠?



