持续更新……
参考答案1~7:CDCDD BA
参考答案8~10:BBC
第8题:我做的时候就在纠结,sizeof()算不算字符串后面的‘/0’,因为我记得strlen()是不算的,最后我就觉得不算,然后就悲剧了,觉得答案应该是hall。结果就悲剧了!还是第一次参加笔试,好多都没有准备。
参考答案11~18:CBDCA BAA
第11题:当时是瞎猜的,现在也不太清楚,不过直接在我的破电脑上运行了一些。本人的电脑配置如下:
测试代码如下:
#include <iostream>
#include <string>
using namespace std;
int f(int );
int main()
{
int result;
result = f(35);
cout<<result<<endl ;
return 0;
}
int f(int x)
{
int s = 0;
while (x-- > 0)
s += f(x);
return (s > 1 ? s:1);
}
运行时间为290多秒:
第15题:当时就不太理解是啥意思,以为是求最大路径,结果不是,就是每段路径上的数字表示至多只能通过的流量。看S的最大流量就知道结果不可能大于54。最后算得结果应该为46 。
参考答案19~20:BC
不定向选择最悲剧,答案好多都不太确定,不敢多选。
第21题:A :是内存泄漏的概念,正确。
B:malloc分配的是在该进程虚拟地址空间,一般说来是在堆栈上。虚拟内存可以比实际内存大很多。所以B错误。
C:free释放的内存首先会被放入一个可用内存池中,可用于内存再分配,所以C显然正确。
D:错误,malloc和new都是分配虚拟内存的。
第22题:A:错误,也可以用右子树最小结点替换被删除结点。
B:正确,要唯一确定一棵二叉树,要包括中序遍历。
C:二叉搜索树中序遍历的结果就是一个有序列,遍历的时间复杂度为O(n),所以C正确。
D:不确定……
第23题:10^15<n^14<10^16,解出11<n<14。
第24题:概率统计:D
第25题:没看懂……
第26题:N路归并,时间复杂度为O(NMlogN)
第27题:17分钟。1,2先去,1回来,5,10去,2回来,1,2去
第28题:将while条件改为:end>=start
start = middle 改为:start = middle +1
end= middle 改为:end= middle -1
第29题:毫无思路……
声明:本人使用该试题完全出于学习交流的目的,如果对阿里巴巴公司有任何侵权行为,请与我联系,本人将立即删除该博客。