- 博客(13)
- 收藏
- 关注
原创 面试题:判断一个圆和一个矩形是否相交
题目:用最简单,最快速的方法计算出下面这个圆形是否和正方形相交。3D 坐标系原点(0.0,0.0,0.0)圆形:半径r = 3.0圆心o = (*.*, 0.0, *.*)正方形:4 个角坐标;1:(*.*, 0.0, *.*)2:(*.*, 0.0, *.*)3:(*.*, 0.0, *.*)4:(*.*, 0.0, *.*)解答:形相交。
2014-06-30 20:21:01 13432 1
转载 面试题:猜牌问题
题目:有4张红色的牌和4张蓝色的牌,主持人先拿任意两张,再分别在A、B、C三人额头上贴任意两张牌,A、B、C三人都可以看见其余两人额头上的牌,看完后让他们猜自己额头上是什么颜色的牌,A说不知道,B说不知道,C说不知道,然后A说知道了。请教如何推理,A是怎么知道的。如果用程序,又怎么实现呢?
2014-06-30 18:03:00 1390
原创 笔试题:在二叉树中找出和为某一值的所有路径
题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22 和如下二元树10/ \5 12/ \4 7则打印出两条路径:10, 12 和10, 5, 7。二元树节点的数据结构定义为:
2014-06-26 17:28:54 659
转载 笔试题:求子数组的最大和
题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10,-4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。int maxSubarray(int a[], int size)
2014-06-26 16:02:59 482
原创 笔试题:设计包含min 函数的栈
题目:设计包含min 函数的栈。定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。要求函数min、push 以及pop 的时间复杂度都是O(1)。解答:开始的时候很容易想到一个方法就是在栈结构中增加一个变量用来记录当前栈中最小元素的值minData,这样在push的时候更新这个minData值,那么在min函数和push函数时间复杂度确实为O(1),但是有一个问题,在p
2014-06-26 15:29:09 405
转载 笔试题:二元查找树转变成排序的双向链表
题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14/ \ / \4 8 12 16转换成双向链表
2014-06-26 14:50:22 453
转载 电路交换和分组交换的时延比较
试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit),从源站到目的站共经过k段链路,每段链路的传播时延为d(s),数据率为C(bit/s)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?答:对电路交换,当t=s时,链路建立; 当t=s
2014-05-18 11:17:09 11283 3
原创 用位运算求两个整型数的平均值(避免溢出)
今天在CSDN上看了一个求两个数的平均值的算法:Avg = (ValueA & ValueB) + (ValueA ^ ValueB) >>1,这种方法避免了应用Avg=(ValueA+ValueB)/2时,ValueA+ValueB造成的溢出。 但是想了很久不知道其中的奥妙,后来在“盗月泉”的百度空间,一句“每个二进数都可以分解为各个位与其权的乘积的和”提醒了我,终于想明白
2014-04-20 19:40:32 1839
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人