zoukankan      html  css  js  c++  java
  • A1029 Median [two pointers]

    在这里插入图片描述
    简单的sort排序找中间数字不行,复杂度太高了,然后就要巧妙一点的方法,还有他题目没说要是偶数个取前面奇数位加一的数字,我以为取平均数。

    #include<iostream>
    #include<cstring>
    #include<algorithm>
    #include<string>
    #include<time.h>
    using namespace std;
    const int maxn = 1000001; 
     int a[maxn], b[maxn];
    int main()
    {
    	int n, m, index = 0;
    	cin >> n;
    	for (int i = 0; i < n; i++)
    	{
    		scanf("%d", &a[i]);
    	}
    	cin >> m;
    	for (int i = 0; i < m; i++)
    	{
    		scanf("%d", &b[i]);
    	}
    	int medianpos = (n + m - 1) / 2;
    	a[n] = b[m] = 10000000000001;
    	int i = 0, j = 0, count = 0;
    	while (count < medianpos)
    	{
    		if (a[i] < b[j]) i++;
    		else j++;
    		count++;
    	}
    	if (a[i] < b[j])
    	{
    		printf("%d
    ", a[i]);
    	}
    	else
    	{
    		printf("%d
    ", b[j]);
    	}
    	return 0;
    }
    
    
  • 相关阅读:
    实验
    概率与期望
    2020CSP-S模板
    洛谷:P2538 [SCOI2008]城堡
    洛谷P1731 生日蛋糕
    洛谷 P1180 石子合并
    洛谷 P2831 愤怒的小鸟
    浅谈状压DP
    浅谈线段树
    LCA-树链剖分
  • 原文地址:https://www.cnblogs.com/Hsiung123/p/13812056.html
Copyright © 2011-2022 走看看