面试题目
文章平均质量分 63
yougoer
yougoer,有果儿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
IP数据报的分片与重组分析
前言 其实在IP协议的报头中,除了TTL字段,还有几个字段是非常重要的,这就是我们今天要讨论的标识符、标志位以及偏移量,这3个字段在IP数据报的分片与重组中,是非常重要的字段。 我们都知道,不同类型的网络,其MTU(最大传输单元)各不相同,如以太网中,最大的传输帧为1518字节,FDDI为4500字节,令牌环帧在4500字节到17800字节之间,而IP协议的一个重要功能,就是能转载 2014-04-15 09:10:02 · 1217 阅读 · 0 评论 -
二分查找
用二分法查找已排序的大小为n的数组A是否存在value,如果存在返回下标,否则返回-1。二分查找的题目非常多原创 2014-04-11 19:23:08 · 548 阅读 · 0 评论 -
情报最小交流次数
最小交流次数问题描述:有n个战士其中n>4他们手中都有不同的情报,假设每个人通过交流能过得双方所有的情报。设计一个算法使得用最少的交流次数使得所有的战士都获得全部的情报,给出算法并给出最小交流次数? 可以建立递推式: f(4)=4 f(n)=f(n-1)+2 , n>4假设在原创 2014-04-11 20:12:10 · 726 阅读 · 0 评论 -
维护O(1)时间查找最大元素的栈
问题描述:一个栈stack,具有push和pop操作,其时间复杂度皆为O(1)。设计算法max操作,求栈中的最大值,该操作的时间复杂度也要求为O(1)。可以修改栈的存储方式,push,pop的操作,但是要保证O(1)的时间复杂度,空间时间复杂度无要求。 可以创建一个类,类里有两个栈,一个栈S维持正常的push、pop操作,另一个Sm保存当前的最大值原创 2014-04-11 19:10:05 · 1211 阅读 · 0 评论 -
抽奖公平问题
一个商店老板想每天抽出一名幸运顾客给一个奖品。他需要设计算法,保证每天来的所有顾客得奖概率是一样的(公平性)(第一:他并不知道当天会来多少顾客,第二:顾客不是同时来的,是一个一个来的)。 第二步:如果每天给 N 个顾客奖品,如何设计?想到几个原创 2014-04-04 09:21:24 · 1353 阅读 · 0 评论 -
判断一个自然数是否是某个数的平方
#include using namespace std;bool check1(int n, int &result){ int temp = 1; for(int i = 1;i<n;i++) { n-=temp; if(n == 0){ result = i; return true; } else return fal原创 2014-04-04 10:53:04 · 832 阅读 · 0 评论 -
蚂蚁走细线
有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个 位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头 时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。-------------------------原创 2014-04-04 09:02:04 · 817 阅读 · 0 评论 -
文件第一列的和
前天去面试,以上来,什么都不用说,不用自我介绍,做个题吧兄弟。于是,我就这样被虐了。问题:文件第一列求和,用什么语言都可以的孩子。第一个想到当然是C啊,妈呀,C的文件操作都忘了,只记得判断 '/0' 是否换行。汗!用python,你妹,紧张起来什么都忘记了。然后只好说,我不知道怎么判别,于是他问我会linux吗?我突然说,啊!会啊,用shell做,非常简单。真是,人总是紧张的时候什原创 2014-04-02 16:32:28 · 496 阅读 · 0 评论 -
用C语言实现memmove函数
#include using namespace std;void* memmove(void *dest, const void *src, size_t n){ assert((dest!=NULL) || (src!=NULL)); char *tmp,*s; cout << dest << " " << src << endl; if(dest<=s原创 2014-04-02 12:01:56 · 876 阅读 · 0 评论 -
用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回
很简单的一个题目,但是有很多细节要注意:#include #include using namespace std;string revert(string a){ int temp; int alen=a.length(); cout << alen; for(int i=0;i<alen/2;i++) { temp = a[i];原创 2014-04-02 11:06:28 · 1248 阅读 · 0 评论 -
约瑟夫环
瑟夫环问题的原来描述为,设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。换一种表述如下问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0转载 2014-04-11 20:31:14 · 550 阅读 · 0 评论
分享