1029. Median (25)

简介: #include #include #include #include using namespace std;int main(){ long long n, t; cin >> n; ...
#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;

int main(){
    long long n, t;
    cin >> n;
    vector<long long> v1, v2, v;
    for (int i = 0; i < n; i++) {
        scanf("%lld", &t);
        v1.push_back(t);
    }
    int m;
    cin >> m;
    for (int i = 0; i < m; i++) {
        scanf("%lld", &t);
        v2.push_back(t);
    }
    int i, j;
    for (i = 0, j = 0; i < v1.size() && j < v2.size(); ) {
        while (v1[i] < v2[j] && i < v1.size()){
            v.push_back(v1[i++]);
        }
        while (v2[j] < v1[i] && j < v2.size()) {
            v.push_back(v2[j++]);
        }
    }
    while (i < v1.size()) {
        v.push_back(v1[i++]);
    }
    while (j < v2.size()) {
        v.push_back(v2[j++]);
    }
    if (v.size() % 2 == 1) {
        cout << v[v.size()/2] << endl;
    }else{
        cout << v[v.size()/2-1] << endl;
    }
    return 0;
}

目录
相关文章
|
C++
hackerrank challenges median
只能说这题我想多了,使用普通的插入排序完全可以解决这道题,在查找的时候用二分加快查找速度。 正确解题报告 这道题的关键在于,不能用int,因为两个int相加可能会越界!因为这个WA了好多遍。所以改用long long。 对double,使用math.h中的函数ceil(double)可以取整,根据ceil(v) == v的结果可以判断v是否是整数。
53 0
|
Python
深入理解Numpy中sum求和的axis参数
深入理解Numpy中sum求和的axis参数
160 0
|
算法 定位技术
浅谈P、NP、NP-Complate和NP-Hard问题
时间复杂度 时间复杂度并不是表示一个程序解决问题需要花多少时间,而是当程序所处理的问题规模扩大后,程序需要的时间长度对应增长得有多快。 也就是说,对于某一个程序,其处理某一个特定数据的效率不能衡量该程序的好坏,而应该看当这个数据的规模变大到数百倍后,程序运行时间是否还是一样,或者也跟着慢了数百倍,或者变慢了数万倍。 不管数据有多大,程序处理所花的时间始终是那么多的,我们就说这个程序很好,具O(1)O(1)O(1)的时间复杂度,也称常数级复杂度;
【1029】Median (25 分)
【1029】Median (25 分) 【1029】Median (25 分)
119 0
|
人工智能 算法 搜索推荐
ZOJ 3499. Median
    地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4322     题意:寻找中位数。对于一个(浮点数)数组,如果含有奇数个元素,“中位数”就是排序后位于数组中间那个。
1293 1
|
算法 C#
算法题丨3Sum Closest
描述 Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target.
1298 0