`

公布2012年5月赛CSDN算法达人赛试题及参考答案

 
阅读更多
本次试题均精选自百度腾讯公司笔试题,试题及答案来源于网络。

一、编程题
1.给定如下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增
1 2 3
3 5 6
4 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;
else
return 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和2
2 2和3
3 2和4

3. 爸爸,妈妈,妹妹,小强,至少两个人同一生肖的概率是多少?
答案:1-12*11*10*9/12*12*12*12 = 1-55/96 = 41/96

三、基础题
1.频繁的插入删除操作使用什么结构比较合适,链表还是数组?
答案:链表

2.顺序查找的平均时间
答案:(1+2+3+...+n)/n = (n+1)/2

3. for(i=0,sum=0; i<10; ++i,sum+=i);的运行结果
答案:sum = 55

4.不能做switch()的参数类型是:
答案:switch的参数不能为浮点型。

5..不使用其他变量,交换两个整型a,b的值
答案:x = x+y; y = x-y; x = x-y或者a=a∧b;b=a∧b;a=b∧a

6. 写出float x 与“零值”比较的if语句。
if(x>=0.000001 && x<=-0.000001)(x不为0的比较)
分享到:
评论

相关推荐

    2017年下半年软件设计师下午试题及参考答案

    2017年下半年软件设计师下午试题及参考答案2017年下半年软件设计师下午试题及参考答案2017年下半年软件设计师下午试题及参考答案2017年下半年软件设计师下午试题及参考答案2017年下半年软件设计师下午试题及参考答案

    (完整版)算法题计算机算法设计与分析期末试题4套(含答案).pdf

    算法设计的步骤包括问题分析、数学模型建立、算法设计与选择、算法指标、算法分析、算法实现、程序调试、结果整理文档编制等。 算法的三要素包括操作、控制结构、数据结构。算法具有五个属性:有穷性、确定性、可行...

    历年程序员试题及答案

    【标题】"历年程序员试题及答案"所涉及的知识点涵盖了编程语言、数据结构与算法、计算机网络、操作系统、数据库管理等多个IT领域的基础和进阶知识。这些试题是程序员在求职或者提升自身技能时的重要参考资料,可以...

    锦标赛选择_锦标赛_锦标赛算法_遗传算法_

    锦标赛选择是一种在遗传算法(Genetic Algorithm, GA)中用于选择优秀个体的方法。在遗传算法中,种群是由一系列可能的解决方案(称为个体)组成的,这些个体通过一系列遗传操作(如选择、交叉和变异)进化以寻找...

    计算机算法设计和分析习题及答案解析.pdf

    "计算机算法设计和分析习题及答案解析" 计算机算法设计和分析是计算机科学中一个重要的领域,它涉及到算法的设计、分析和实现。本文档提供了计算机算法设计和分析习题及答案解析,涵盖了算法设计和分析的基础知识和...

    算法设计与分析(第2版)参考答案.rar

    《算法设计与分析》是计算机科学领域的一本经典教材,主要涵盖了如何设计高效算法以及如何分析算法性能。这本书的第二版通常会包含更多的实例、更新的内容以及改进的讲解,以帮助读者更好地理解和应用各种算法。参考...

    天津工业大学《算法设计与分析》期末复习题(含答案).pdf

    不过,根据标题和描述,我们可以推断这份文件应该是关于天津工业大学《算法设计与分析》课程的期末复习题,并附有答案。下面我将详细介绍与算法设计与分析相关的一些重要知识点,这些知识点对于准备期末考试的学生来...

    数据结构与算法分析C++语言描述第四版参考答案

    书中涵盖了排序算法(如冒泡排序、插入排序、选择排序、快速排序、归并排序和堆排序)、查找算法(如线性查找、二分查找、哈希查找)以及图算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法和...

    算法设计与分析试题

    这份压缩包文件包含了四套算法设计与分析的试题,以及两套数值分析的期末考试试题,全部附有答案,非常适合学生复习或教师命题参考。 1. **算法设计**:在算法设计中,我们关注的是如何创建一个可以解决特定问题的...

    csdn遗传算法参考.py

    csdn遗传算法参考.py

    算法与数据结构考研试题精析

    《算法与数据结构考研试题精析》收集了自1992年以来国内60余所重点高校和科学院、所300多套硕士研究生入学“算法与数据结构”考试试卷的1600多道试题,并给出了参考答案和分析。《算法与数据结构考研试题精析》可以...

    计算机网络试题及答案 计算机网络试题及答案

    计算机网络试题及答案 计算机网络试题及答案 计算机网络试题及答案 计算机网络试题及答案 计算机网络试题及答案

    算法导论第15章课后习题答案

    算法导论第15章-动态规划的课后习题参考答案,对于算法爱好者而言,是不错的参考资料。

    GMT 0004-2012 SM3密码杂凑算法

    GMT 0004-2012 SM3密码杂凑算法,文档是国家2012年发布的标准文件。

    屈婉玲算法与设计及答案

    这个压缩包文件包含了她课程的相关资料,包括课件和作业答案,为学习者提供了一个全面理解算法设计与分析的资源库。 首先,我们要明白算法设计与分析是计算机科学中的核心课程,它涉及如何有效地解决问题和执行计算...

    算法设计与分析 吕国英 第三章第四章第五章课后习题答案

    书中的第三章、第四章和第五章分别涵盖了不同的算法主题,而提供的课后习题答案则是对这些章节理论知识的实践检验和巩固。 第三章通常会涉及到排序算法,这是一类基础且重要的算法,包括但不限于冒泡排序、选择排序...

    参考答案_csdn

    很抱歉,但根据您提供的信息,这似乎是一个高中化学考试的参考答案,包含选择题和非选择题的部分内容。然而,这些内容并不符合"IT行业"的知识点标签。如果需要关于IT领域的专业知识,例如编程语言、软件开发、网络...

    算法概论配套之中文答案

    《算法概论配套之中文答案》是对英文版《Algorithms》一书的习题解答,旨在帮助读者深入理解和掌握算法理论与实践。该资源来源于网络,可在CSDN下载(http://download.csdn.net/source/2810102)。这本书的习题解答...

    计算机算法设计与分析导论(Sara Baase,第三版)课后习题答案

    计算机算法设计与分析导论(Sara Baase,第三版)课后习题答案 计算机算法设计与分析是指使用科学的方法来研究和设计算法,以提高算法的效率和可读性。这里,我们将讨论《计算机算法设计与分析导论》(Sara Baase,...

    算法设计与分析期末试卷1.pdf(含答案

    算法设计与分析期末试卷1.pdf

Global site tag (gtag.js) - Google Analytics