`
- 浏览:
22196888 次
- 性别:
- 来自:
杭州
-
公布2012年5月赛CSDN算法达人赛试题及参考答案
本次试题均精选自百度腾讯公司笔试题,试题及答案来源于网络。一、编程题1.给定如下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增1 2 33 5 64 8 9现在要求设计一个算法, 给定一个数k 判断出k是否在这个矩阵中。 描述算法并且给出时间复杂度(不考虑载入矩阵的消耗)答案:算法思想: 沿着对角线查找,获得i,使得k位于a[i][i]与a[i+1][i+1]之间。 k只可能存在于a[i][i]对应的右上角矩阵 和a[i+1][i+1]对应的左下角矩阵。 使用递归法继续查找即可。时间复杂度 O(n)int searchK(int int_arr[][],int n,int startlow,int startclm,int k){int lefttemp=0;int downtemp=0;int i=0;while(int_arr[startlow+i][startclm+i]<k||i<n)i++;if (i==n)return 0;else if(arr[i][i]==k)reuturn 1;elsereturn searchK(int_arr,n,startlow,startclm+i,k)+searchK(int_arr,n,startlow+i,startclm,k);}2.设 一个64位整型n,各个bit位是1的个数为a个. 比如7, 2进制就是 111, 所以a为3。现在给出m个数, 求各个a的值。要求代码实现。答案:#include <iostream>#include<vector>using namespace std;int count(long long v){int num=0;while(v){v &=(v-1); //执行效率为V中1的个数,时间复杂度比通过除操作、位操作比较高出很多num++;}return num;}void main(){vector<long long> arr;long long i;cout<<"输入需要计算的数,Ctrl+z 停止" <<endl;while(cin>>i){ //输入随机个数的数,使用Ctrl+z 停止,之后回车键继续。arr.push_back(i);};for(vector<long long>::size_type idx=0;idx!=arr.size();++idx){int n=count(arr[idx]);cout<<n<<"\n";}}3. 给定一个字符串的集合,格式如:{aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh}要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出{aaa bbb ccc ddd hhh},{eee fff}, {ggg}答案:char *revert(char * str){int n=strlen(str);int i=0;char c;for(i=0;i{c=str;str=str[n-i];str[n-i]=c;}return str;}二、逻辑题1. 有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?答案:AB先过[2min],A(或B)返回[1min],CD过[10min],B(或A)回来[2min],AB一起过[2min]。共17min。2. 1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少?答案:有3个:1 2和22 2和33 2和43. 爸爸,妈妈,妹妹,小强,至少两个人同一生肖的概率是多少?答案:1-12*11*10*9/12*12*12*12 = 1-55/96 = 41/96三、基础题1.频繁的插入删除操作使用什么结构比较合适,链表还是数组?答案:链表2.顺序查找的平均时间答案:(1+2+3+...+n)/n = (n+1)/23. for(i=0,sum=0; i<10; ++i,sum+=i);的运行结果答案:sum = 554.不能做switch()的参数类型是:答案:switch的参数不能为浮点型。5..不使用其他变量,交换两个整型a,b的值答案:x = x+y; y = x-y; x = x-y或者a=a∧b;b=a∧b;a=b∧a6. 写出float x 与“零值”比较的if语句。if(x>=0.000001 && x<=-0.000001)(x不为0的比较)
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
2017年下半年软件设计师下午试题及参考答案2017年下半年软件设计师下午试题及参考答案2017年下半年软件设计师下午试题及参考答案2017年下半年软件设计师下午试题及参考答案2017年下半年软件设计师下午试题及参考答案
算法设计的步骤包括问题分析、数学模型建立、算法设计与选择、算法指标、算法分析、算法实现、程序调试、结果整理文档编制等。 算法的三要素包括操作、控制结构、数据结构。算法具有五个属性:有穷性、确定性、可行...
【标题】"历年程序员试题及答案"所涉及的知识点涵盖了编程语言、数据结构与算法、计算机网络、操作系统、数据库管理等多个IT领域的基础和进阶知识。这些试题是程序员在求职或者提升自身技能时的重要参考资料,可以...
锦标赛选择是一种在遗传算法(Genetic Algorithm, GA)中用于选择优秀个体的方法。在遗传算法中,种群是由一系列可能的解决方案(称为个体)组成的,这些个体通过一系列遗传操作(如选择、交叉和变异)进化以寻找...
"计算机算法设计和分析习题及答案解析" 计算机算法设计和分析是计算机科学中一个重要的领域,它涉及到算法的设计、分析和实现。本文档提供了计算机算法设计和分析习题及答案解析,涵盖了算法设计和分析的基础知识和...
《算法设计与分析》是计算机科学领域的一本经典教材,主要涵盖了如何设计高效算法以及如何分析算法性能。这本书的第二版通常会包含更多的实例、更新的内容以及改进的讲解,以帮助读者更好地理解和应用各种算法。参考...
不过,根据标题和描述,我们可以推断这份文件应该是关于天津工业大学《算法设计与分析》课程的期末复习题,并附有答案。下面我将详细介绍与算法设计与分析相关的一些重要知识点,这些知识点对于准备期末考试的学生来...
书中涵盖了排序算法(如冒泡排序、插入排序、选择排序、快速排序、归并排序和堆排序)、查找算法(如线性查找、二分查找、哈希查找)以及图算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法和...
这份压缩包文件包含了四套算法设计与分析的试题,以及两套数值分析的期末考试试题,全部附有答案,非常适合学生复习或教师命题参考。 1. **算法设计**:在算法设计中,我们关注的是如何创建一个可以解决特定问题的...
csdn遗传算法参考.py
《算法与数据结构考研试题精析》收集了自1992年以来国内60余所重点高校和科学院、所300多套硕士研究生入学“算法与数据结构”考试试卷的1600多道试题,并给出了参考答案和分析。《算法与数据结构考研试题精析》可以...
计算机网络试题及答案 计算机网络试题及答案 计算机网络试题及答案 计算机网络试题及答案 计算机网络试题及答案
算法导论第15章-动态规划的课后习题参考答案,对于算法爱好者而言,是不错的参考资料。
GMT 0004-2012 SM3密码杂凑算法,文档是国家2012年发布的标准文件。
这个压缩包文件包含了她课程的相关资料,包括课件和作业答案,为学习者提供了一个全面理解算法设计与分析的资源库。 首先,我们要明白算法设计与分析是计算机科学中的核心课程,它涉及如何有效地解决问题和执行计算...
书中的第三章、第四章和第五章分别涵盖了不同的算法主题,而提供的课后习题答案则是对这些章节理论知识的实践检验和巩固。 第三章通常会涉及到排序算法,这是一类基础且重要的算法,包括但不限于冒泡排序、选择排序...
很抱歉,但根据您提供的信息,这似乎是一个高中化学考试的参考答案,包含选择题和非选择题的部分内容。然而,这些内容并不符合"IT行业"的知识点标签。如果需要关于IT领域的专业知识,例如编程语言、软件开发、网络...
《算法概论配套之中文答案》是对英文版《Algorithms》一书的习题解答,旨在帮助读者深入理解和掌握算法理论与实践。该资源来源于网络,可在CSDN下载(http://download.csdn.net/source/2810102)。这本书的习题解答...
计算机算法设计与分析导论(Sara Baase,第三版)课后习题答案 计算机算法设计与分析是指使用科学的方法来研究和设计算法,以提高算法的效率和可读性。这里,我们将讨论《计算机算法设计与分析导论》(Sara Baase,...
算法设计与分析期末试卷1.pdf