zoukankan      html  css  js  c++  java
  • A1029 Median (25 分)

    一、技术总结

    1. 最开始的想法是直接用一个vector容器,装下所有的元素,然后再使用sort()函数排序一下,再取出中值,岂不完美可是失败了,不知道是容器问题还是什么问题,就是编译没有报错,最后总是感觉不对,在PAT测试点也显示段错误。最后看别人的办法了。大部分是先判断出来中值的位置,然后存储两个数组,最后进行比较,当出现了小于median值的位置的时候那么就可以输出该数了。

    二、参考代码

    #include<iostream>
    #include<algorithm>
    using namespace std;
    const int maxn = 200010;
    const int inf = 0x7fffffff;
    int a[maxn], b[maxn];
    int main(){
    	int n1, n2;
    	cin >> n1;
    	for(int i = 0; i < n1; i++){
    		scanf("%d", &a[i]);
    	}
    	cin >> n2;
    	for(int i = 0; i < n2; i++){
    		scanf("%d", &b[i]);
    	}
    	a[n1] = inf, b[n2] = inf;
    	int median = (n1+n2-1)/2;
    	int i = 0, j = 0, count = 0;
    	while(count < median){
    		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;
    }
    
    作者:睿晞
    身处这个阶段的时候,一定要好好珍惜,这是我们唯一能做的,求学,钻研,为人,处事,交友……无一不是如此。
    劝君莫惜金缕衣,劝君惜取少年时。花开堪折直须折,莫待无花空折枝。
    曾有一个业界大牛说过这样一段话,送给大家:   “华人在计算机视觉领域的研究水平越来越高,这是非常振奋人心的事。我们中国错过了工业革命,错过了电气革命,信息革命也只是跟随状态。但人工智能的革命,我们跟世界上的领先国家是并肩往前跑的。能身处这个时代浪潮之中,做一番伟大的事业,经常激动的夜不能寐。”
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    阿里云前端周刊
    在没有DOM操作的日子里,我是怎么熬过来的(中)
    【php学习】数组操作
    App之百度云推送
    L2-008. 最长对称子串
    整数划分问题之递归法
    分治法之归并排序(递归+分治)
    L2-005. 集合相似度
    分治法之棋盘覆盖问题
    L2-003. 月饼
  • 原文地址:https://www.cnblogs.com/tsruixi/p/11883258.html
Copyright © 2011-2022 走看看