精华内容
下载资源
问答
  • 13,15,17,19),其中位数是15,若b=(2,4,6,8,20),其中位数为6。两个等 长有序序列的中位数是含它们所有元素的有序序列的中位数,例如a、b两 个有序序列的中位数为11。设计一个算法求给定的两个有序序列的中 位数。
  • 两个有序序列中位数

    千次阅读 2018-03-28 21:50:34
    两个有序序列中位数已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋个数(A​0​​为第1个数)。输入...

     两个有序序列的中位数

    已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0,A1,,AN1的中位数指A(N1)/2的值,即第(N+1)/2个数(A0为第1个数)。

    输入格式:

    输入分三行。第一行给出序列的公共长度N(0<N100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空格间隔。

    输出格式:

    在一行中输出两个输入序列的并集序列的中位数。

    输入样例1:

    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

    分析:个人觉得这个题特别坑,,, 根据高中数学集合的概念,两个集合的并集应该包括两个集合中所有出现过的元素,并且并集中不能有重复的元素。刚开始做的时候,用set存所有的元素(set去重),接着输出最中间的数,But 错了,,,纠结了好久。

    后来到百度了一下,居然是直接用数组存下所有数据,再输出最中间的数。

    唉,不说了,看看网上正确的代码吧

    #include <stdio.h>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    int a[200001];
    int main(){
    	int N;
    	scanf("%d", &N);
    	for(int i = 0; i < 2 * N; ++i)
    		scanf("%d", &a[i]);
    	sort(a, a + 2 * N);
        printf("%d\n", a[N - 1]);
    	return 0;
    }
    

    展开全文
  • 7-1 两个有序序列中位数 (25 分)

    千次阅读 2019-09-27 20:35:02
    7-1 两个有序序列中位数 (25 分) 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A ​0 ​​ ,A ​1 ​​ ,⋯,A ​N−1 ​​ 的中位数指A ​(N−1)/2 ​​ 的值,即第⌊(N+1)/2⌋个数...

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

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

    输入格式:
    输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空格间隔。

    输出格式:
    在一行中输出两个输入序列的并集序列的中位数。

    输入样例1:
    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<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    int comp(const void* a,const void* b)
    {
    	return *(int*)b - *(int*)a;
    }
    int main()
    {
    	int i;
    	int n;
    	int a[1000001];
    	scanf("%d",&n);
    	for(i=0;i<n*2;i++)
    	{
    		scanf("%d",&a[i]);
    	}
    	qsort(a,n*2,sizeof(a[0]),comp);
    	printf("%d\n",a[n]);
    	return 0;
    }
    
    展开全文
  • PAT 两个有序序列中位数

    千次阅读 2016-03-24 21:19:05
    PAT 两个有序序列中位数

    5-2 两个有序序列的中位数   (25分)

    已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A_0, A_1, \cdots, A_{N-1}A0,A1,,AN1的中位数指A_{(N-1)/2}A(N1)/2的值,即第\lfloor(N+1)/2\rfloor(N+1)/2个数(A_0A0为第1个数)。

    输入格式:

    输入分三行。第一行给出序列的公共长度N(0<<N\le100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空格间隔。

    输出格式:

    在一行中输出两个输入序列的并集序列的中位数。

    输入样例1:

    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 <stdio.h>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    int a[200001];
    
    int main(){
    	int N;
    	scanf("%d", &N);
    	for(int i = 0; i < 2 * N; ++i)
    		scanf("%d", &a[i]);
    	sort(a, a + 2 * N);
    	//for(int i = 0; i < 2 * N; ++i)
    	//	printf("%d\t", a[i]);
        printf("%d\n", a[N - 1]);
    	return 0;
    }


    展开全文
  • 2 两个有序序列中位数

    千次阅读 2019-01-09 18:22:30
    2 两个有序序列中位数 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0​​,A​1,⋯,A​N−1的中位数指A​(N−1)/2的值,即[(N+1)/2]个数(A​0为第1个数)。 输入格式: 输入分三行。...

    2 两个有序序列的中位数

    已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0​​,A​1,⋯,A​N−1的中位数指A​(N−1)/2的值,即[(N+1)/2]个数(A​0为第1个数)。

    输入格式:

    输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空格间隔。

    输出格式:

    在一行中输出两个输入序列的并集序列的中位数。

    输入样例1:

    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 <stdio.h>
    int main(){
    	int n, i, j = 0, k = 0;
    	scanf("%d", &n);
    	int a[n], b[n];
    	for(i = 0; i < n; i++)
    		scanf("%d", &a[i]);
    	for(i = 0; i < n; i++)
    		scanf("%d", &b[i]);
    	while(j + k < n - 1){
    		if(a[j] >= b[k])
    			k++;
    		else
    			j++;
    	}
    	printf("%d", a[j]>b[k]?b[k]:a[j]);
    	return 0;
    }
    
    展开全文
  • 7-3 两个有序序列中位数

    千次阅读 2019-03-15 19:44:47
    7-3 两个有序序列中位数 (25 分)已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋个数(A​0​​为第...
  • 两个有序序列中位数(详解)

    千次阅读 2017-12-17 12:58:05
    7-3 两个有序序列中位数   2. 问题描述 在一行中输出两个输入序列的并集序列的中位数。时间复杂度不能大于O(logn)   3. 算法描述(不能粘贴程序) 因为时间复杂度不能大于logn,所以把原序列排好序再来找...
  • 7-7 两个有序序列中位数

    千次阅读 2019-02-22 20:49:58
    7-7 两个有序序列中位数 (25 分) 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋个数(A​0​​...
  • PTA5-53 两个有序序列中位数

    千次阅读 2017-02-15 20:59:01
    5-53 两个有序序列中位数 (25分) 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A_0, A_1, \cdots, A_{N-1}A​0​​,A​1​​,⋯,A​N−1​​的中位数指A_{(N-1)/2}A​(N...
  • 两个有序序列中位数(二分搜索)
  • PTA- 两个有序序列中位数

    千次阅读 2018-03-20 18:47:55
    有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋数(A​0​​为第1数)。输入格式:输入分三行。第一行给出序列的公共长度N(0&lt;N≤100000),随后每行输入一...
  • 有序序列A0​​,A​1,⋯,A​N−1的中位数指A​(N−1)/2的值,即[(N+1)/2]数(A​0为第1数)。 输入格式: 输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一序列的信息,即N非降序...
  • 两个有序序列中位数 时间限制 40 ms 内存限制 32000 kB 代码长度限制 8000 B 判题程序 Standard 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。...
  • 两个有序序列中位数(25 分)

    千次阅读 2017-09-29 01:11:44
    两个有序序列中位数(25 分)已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0,A​1,⋯,A​N−1的中位指A ​(N−1)/2的值,即第⌊(N+1)/2⌋个数(A0为第1个数)。输入格式:输入分三行...
  • 已知有两个等长的非降序序列S1S1S1、S2S2S2,求S1S1S1与S2S2S2并集的中位数 输入样例1: 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 &amp;nbsp;&amp...
  • 7-53 两个有序序列中位数 (25分)

    万次阅读 2020-03-07 01:08:38
    已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋个数(A​0​​为第1个数)。 输入格式: 输入分三行...
  • 7-9 两个有序序列中位数 (25分) 让我们先看一下题目 题目: 题目概述: 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0, A1,⋯,AN−1的中位数指A(N−1)/2的值,即第⌊(N+1)/2⌋个...
  • 两个有序序列中位数(30 分)

    千次阅读 2018-05-26 20:25:57
    有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋数(A​0​​为第1数)。输入格式:输入分三行。第一行给出序列的公共长度N(0&lt;N≤100000),随后每行输入一...
  • 题目:寻找两个等长有序序列的中位数 【问题描述】对于一个长度为n的有序序列(假设均为升序序列)a[0…n-1],...两个等长有序序列的中位数是含它们所有元素的x有序序列的中位数,例如a,b两个有序序列中位数为1...
  • 两个有序序列中位数 (25 分)

    千次阅读 2018-10-15 20:24:37
    有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋数(A​0​​为第1数)。 输入格式: 输入分三行。第一行给出序列的公共长度N(0&amp;lt;N≤100000),随后每行...
  • 7-4 两个有序序列中位数 (25分)

    千次阅读 2020-05-05 17:50:46
    7-4 两个有序序列中位数 (25分) 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋个数(A​0​​为第...
  • 7-7 两个有序序列中位数 (25 分) 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋个数(A​0​...
  • 7-53 两个有序序列中位数(25 分) 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A ​0 ​​ ,A ​1 ​​ ,⋯,A ​N−1 ​​ 的中位数指A ​(N−1)/2 ​​ 的值,即第⌊(N+1...
  • 有序序列A0, A1…AN-1的中位数指A(N-1)/2的值,即第[(N+1)/2]个数(A0为第1个数)。 输入格式说明: 输入分3行。第1行给出序列的公共长度N(0 输出格式说明: 在一行中输出两个输入序列的并集序列的中位...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 75,780
精华内容 30,312
关键字:

两个有序序列的中位数