笔试面试题汇总
文章平均质量分 52
fhxd
这个作者很懒,什么都没留下…
展开
-
子数组的乘积
给定一个数组a[N],我们希望构造数组b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i]。在构造过程: 不允许使用除法; 要求O(1)空间复杂度和O(n)时间复杂度; 除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量、对空间和全局静态变量等); 请用程序实现并简单描述。 先看实现代码: [cpp] view p转载 2013-04-14 15:57:17 · 630 阅读 · 0 评论 -
指针和数组的关系
1.char **p, a[16][8]; 问:p=a是否会导致程序在以后出现问题?为什么? 会,因为a的类型为char (*)[8], p只是一个指向指针的指针,没有数组类型信息。 p[1][2]和a[1][2]代表一样的意思吗?p = a; 问 a[1][2] = 1; 那么p[1][2]的值是多少 ? 我们应该知道 二维数组在内存中也是一维排布的 所以 a[1][2] 代表转载 2013-06-05 21:37:59 · 473 阅读 · 0 评论 -
尾递归分析
昨天被问到了尾递归及编译器对它的处理相关,一直对它没有研究过,解释得很含糊。 回来查了下,记录如下: 递归有线性递归(普通的递归)和尾递归。 由于尾递归的特殊性,一般的编译器会做些特殊处理。因此,在效率和开销上,比普通递归好。 举个例子,计算n! 1)线性递归: type recurve(long n) { return (n == 1) ? 1 : n * re转载 2013-06-22 11:24:33 · 755 阅读 · 0 评论 -
编程之美3.8求二叉树中节点的最大距离
今天看了这道题,感觉作者的解法空间消耗太大,所以想出以下解决方案,由于代码本身比较简单所以我就不解释了,请看代码: #include #include typedef struct Node* link; struct Node{ link left; link right; int key; }; static link head; link NEW(link left, link ri原创 2013-09-03 00:05:25 · 762 阅读 · 0 评论 -
编程之美3.7队列中取最大值操作问题(新解法,空间复杂度比原解法低)
题目就不再叙述了,前几种解法书上都有,我这暂且叫解法四: 思路如下: 假设有入队元素个数最多为n个。 1.首先开一个大小为n的数组data[n]来保存原始数据,以及大小为n的数组MAXARRAY[n]来保存最大值,。 2.假设入队的数为124375 3. 1入队列,则两个数组中的情况为: data:1 MAXARRAY:1 4. 2 入队列,则两个数组中的情况为: data:原创 2013-09-03 00:28:32 · 1193 阅读 · 1 评论 -
3.18二分搜索算法各种变种
编程之美3.18后面的二分查找题解: #include #include //最大索引等于k int bisearch(int* arr, int b, int e, int v) { int minIndex = b, maxIndex = e, midIndex = 0; while (minIndex < maxIndex - 1) { midIndex = minIndex +原创 2013-09-04 00:25:04 · 735 阅读 · 0 评论 -
socket同步与异步
socket同步与异步 前面说了socket建立与传输的函数,但是光这些函数,还不能达到网络通信程序的全部要求。因为accept, send和recv函数默认是同步的,也就是阻塞的。send还好说,发不出去就等着,有情可原。但是,accept和recv阻塞,通常会有麻烦,一个服务器程序,在试图接受连接(调用accept)之后, 由于没有客户端试图连接,所以服务器转载 2013-09-24 11:39:17 · 1030 阅读 · 0 评论 -
面试总结(百度(后台)、腾讯(客户端)、锐捷网络)
本人现在上研三,前段时间忙着找工作。收了4个offer,华为、中电科集团公司(做C919的航电模块)、腾讯、百度,其它的像美团,去哪儿网就没去面试,阿里由于某些原因悲剧了。今天跟腾讯签了三方,就算是卖身成功吧。之所以签腾讯不签百度,是因为百度让我去深圳,我当然就拒了,要求百度就去北京,去深圳就去腾讯。再者腾讯2014年要在成都建一个大的研发中心,老大说我在深圳干几年可以调回成都(到时候就可以跟小宝原创 2013-10-09 20:12:50 · 7265 阅读 · 11 评论