试题收集-多多的

迅雷2014校园招聘笔试题

转载请标明出处,原文地址:ht 温馨提示:客观题和主观题得分都要超过一定标准,才能获得面试资格,如果一项得分很高,而另外一项得分很低,可能无法获得面试资格。一、单选题(20题,每题2分) 1、有变量int i = 0; int a = i++; int b=++a; int c = a+b; 请问表达式 a?b:c 的值是() A、0              B、1...
阅读(1429) 评论(20)

PPS2013校园招聘笔试题

一、简答题(1)一位老师有2个推理能力很强的学生,他告诉学生他手里有以下的牌:黑桃:2 , 5 , 7 , 9 , J , K 红心:3 , 4 , 9 , J , K 梅花:5 , 8 , 9 , Q 方块:2 , 7 , 8 然后从中拿出一张牌,告诉A这张牌的大小,告诉了B这张牌的花色; A:我不知道这张是什么牌 B:我就知道你肯定不知道这张是什么牌 A:现在我知道 B...
阅读(902) 评论(7)

2013豆瓣校园招聘研发类笔试题

2013豆瓣校园招聘研发类笔试题转载请标明出处,原文地址: 1、将一个递归算法改为对应的非递归算法时,通常需要使用() A、优先队列   B、队列     C、循环队列     D、栈 2、爸爸、妈妈、妹妹、小强,至少两个人同一生肖的概率是多少? A、41/96      B、55/96     C、72/128      D、90/128 3、已知*p=NULL, *q=n...
阅读(747) 评论(4)

网新恒天2013年校园招聘笔试

已知memcpy的函数为: void* memcpy(void *dest , const void* src , size_t count)其中dest是目的指针,src是源指针。不调用c++/c的memcpy库函数,请编写memcpy。...
阅读(895) 评论(5)

2013届华为校园招聘机试题

通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。 将输入的一个单向链表,逆序后输出链表中的值。...
阅读(799) 评论(0)

2014届华为校园招聘机试题

2014年华为校园招聘机试题通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。...
阅读(5446) 评论(16)

各大IT公司校园招聘程序猿笔试、面试题集锦

百度一面 1、给定一个字符串比如“abcdef”,要求写个函数编程“defabc”,位数是可变的。这个比较简单,我用的是strcpy和memcpy,然后他问有什么优化的办法,我就不知道了。 2、socket过程就是socket的server和client整个流程写下来,这个还是没啥问题的。 3、数据结构二叉树的遍历,给了个二叉树,前序、中序、后序写出来,这个没什么难度。 http://...
阅读(9857) 评论(6)

C/C++笔试题目大全

1、以下程序的运行结果是() int main(void) { printf("%s , %5.3s\n","computer","computer"); return 0; }A、computer , puter                                      B、computer , com C、computer , computer...
阅读(6055) 评论(29)

C++中虚函数工作原理和(虚)继承类的内存占用大小计算

一、虚函数的工作原理       虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr 指向一个被称为 vtbl(virtual table,虚函数表)的函数指针数组,每一个包含虚函数的类都关联到 vtbl。当一个对象调用了虚函数,实际...
阅读(14566) 评论(40)

大端模式和小端模式

在 各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机 通信领 域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正 确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:Big-Endian和Little-Endian,下面先从字节序说起。一、什...
阅读(2674) 评论(0)

海量数据面试题整理

1、给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 s 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小文件的大约为300M。...
阅读(4058) 评论(12)

【2012百度之星/资格赛】J:百度的新大厦

描述继百度搜索框大厦之后,百度又于2012年初在深圳奠基了新的百度国际大厦,作为未来百度国际化的桥头堡。不同于百度在北京的搜索框大厦,新的百度国际大厦是一栋高楼,有非常多的楼层,让每个楼中的电梯都能到达所有楼层将是一个极为不明智的设计。因此,设计师给出了一个特别的设计——一共大厦有m个电梯,每个电梯只有两个按钮,(针对第i个电梯)两个按钮分别可以使电梯向上或ui层向下一定di层;百度国际大厦很...
阅读(1948) 评论(6)

【2012百度之星 / 资格赛】I:地图的省钱计划

描述百度地图有自己的一套坐标系(你可以把它看作一个笛卡尔坐标系),在这套坐标系里,一个标准单位为1km。而在这坐标系上针对地理信息进行标注的数据,大多数时候是通过购买的方式完成的。为了节约数据更新的成本,数据组里的鑫哥想出了一个好主意——自己测数据。鑫哥按照他的预想开始实验;在每组试验中,鑫哥选取了三个已经被准确标注在百度地图的坐标系里的移动运营商的基站作为信号接收点(这里可以准确的得到信...
阅读(1413) 评论(9)

【2012百度之星/资格赛】H:用户请求中的品牌

时间限制: 1000ms 内存限制: 65536kB 描述 馅饼同学是一个在百度工作,做用户请求(query)分析的同学,他在用户请求中经常会遇到一些很奇葩的词汇。在比方说“johnsonjohnson”、“duckduck”,这些词汇虽然看起来是一些词汇的单纯重复,但是往往都是一些特殊品牌的词汇,不能被拆分开。为了侦测出这种词的存在,你今天需要完成我给出的这个任务——“找出用户请...
阅读(1365) 评论(1)

【2012百度之星/资格赛】F:百科蝌蚪团

时间限制: 1000ms      内存限制: 65536kB 描述百度百科有一支神奇的队伍,他们叫自己“百科蝌蚪团”。为了更好的让蝌蚪团的成员们安排工作,百度百科的运营团队定出了一个24小时制的时间表。例如: 1.    每个蝌蚪团成员工作时长相同; 2.    必须安排蝌蚪团成员在他们方便的时间段工作; 3.    蝌蚪团成员安排时间最小安排时间节点(开始工作或停止工作)为半小时,...
阅读(1393) 评论(1)

【2012百度之星/资格赛】E:C++ 与Java

时间限制:2000ms       内存限制:65536kB 描述在百度之星的贴吧里面,Java的爱好者和C++的爱好者总是能为这两种语言哪个更好争论上几个小时。Java的爱好者会说他们的程序更加整洁且不易出错。C++的爱好者则会嘲笑Java程序很慢而且代码很长。另一个Java和C++爱好者不能达成一致的争论点就是命名问题。在Java中一个多个单词构成的变量名应该按照如下格式命名:第一个...
阅读(1154) 评论(0)

【2012百度之星/资格赛】D:共同狂欢

时间限制:1000ms         内存限制:131072kB 描述百度2005年8月5日上市时,在北京和纳斯达克的同学们每一个小时整点时就会通一次电话,对一下表,确认一切相关活动都精确同步。但是要注意,在两边的同学位于不同的时区,在夏时制时,两地时差12小时,因此,每次对表都需要做一下时区转换。你来帮我们完成这个有点麻烦的工作吧。 输入输入的第一行包括一个整数T(T ≤ 30),...
阅读(1120) 评论(0)

【2012百度之星/资格赛】C: 易手机的套餐

时间限制: 1000ms 内存限制: 10000kB 描述 装载百度易平台的易手机已经上市,为了更好的为大家提供服务。百度与合作的运营商正在讨论为易手机用户推出一款特别的套餐,帮助大家更好的利用易手机。作为这个项目负责人的晓萌调研了大量用户使用这个套餐后会出现的资费预估,让我们来看看这个特别的套餐到底会带来怎样资费情况吧。 输入输入数据包括十二行,每行包括一个数字(不含金...
阅读(811) 评论(0)

【2012百度之星/资格赛】B:小诺爱USB设备

时间限制: 1000ms 内存限制: 65536kB 描述 在百度工作的小诺是一个USB设备迷,在他桌上有一堆的USB设备——USB鼠标、USB小音箱、USB按摩器……但是,公司配给小诺的ThinkPad X系列的电脑只有一个能用的USB接口。不过还好,小诺有一堆的USB Hub,可以把一个可用的USB接口变成多个USB接口。但是,小诺很难确定这些USB Hub能否满足他他众多的U...
阅读(1140) 评论(0)

有序数组求中位数问题

1、有两个已排好序的数组A和B,长度均为n,找出这两个数组合并后的中间元素,要求时间代价为O(logn)。 2、假设两个有序数组长度不等,同样的求出中位数。一:解析: 这个题目看起来非常简单。第一题的话: 假设数组长度为n, 那么我就把数组1和数组2直接合并,然后再直接找到中间元素。对于这样的方案,第一题和第二题就没有什么区别了。这样的话时间复杂度就是O(n)。通常在这样的情况下,那些要求比...
阅读(3373) 评论(7)

经典面试题:链表的相交与环问题

1、 给出两个单向链表的头指针pHead1和pHead2,判断这两个链表是否相交。假设两个链表均不带环。  示意图如下: 如果两个链表相交于某一节点,那么在这个相交节点之后的所有节点都是两个链表所共有的。也就是说,如果两个链表相交,那么最后一个节点肯定是共有的。先遍历第一个链表,记住最后一个节点,然后遍历第二个链表,到最后一个节点时和第一个链表的最后一个节点做比较,如果相同,则相交,否则不...
阅读(3322) 评论(1)

二分搜索及其扩展(循环递增数组的搜索)

二分搜索需要注意开闭区间的问题,限制条件和边界要保持配对:low 二分搜索的模板如下: // 二分搜索 int BinarySearch(int *num, int key, int low, int high) { int mid ; while(low <= high) //切记:条件是 <= ,很多次都不小心写成了 < ,导致了N多WA { mid = (low +...
阅读(2920) 评论(6)

2012 人民搜索 实习生招聘 笔试题

1、打印汉诺塔移动步骤,并且计算复杂度。方法是递归,将n-1层移到中间柱,然后将最底层移到目标柱,然后再把n-1层移到目标柱。 f(n) = 2f(n-1) + 1 , f(1) = 1 f(n) + 1 = 2( f(n-1) + 1 ) f(n) = 2^n - 1 T(n) = O(2^n); 2、计算两个字符串的是否相似(字符的种类,和出现次数相同)   先比较strlen...
阅读(4286) 评论(11)

2012百度实习生招聘面试题

一面:第一题、任意给一个数,试证明这个数的某个倍数的十进制表示是01串,比如3的倍数111是二进制表示,5的倍数10是二进制表示,等等。假设序列1,11,111,1111…用A1~AN标识,下脚标N即为1的个数,如:A1=1,A2=11,A3=111… 其中没有一个是N的倍数,即AK mod N不等于0(K属于1~N),并且AK mod N的余数各不相同,设它们为a1,a2,a3,…,a...
阅读(4765) 评论(9)

C++中智能指针的设计和使用

智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷...
阅读(17994) 评论(36)

C 语言的可变参数表函数的设计

首先在介绍可变参数表函数的设计之前,我们先来介绍一下最经典的可变参数表printf函数的实现原理。一、printf函数的实现原理在C/C++中,对函数参数的扫描是从后向前的。C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出来,在计算机的内存中,数据有2块,一块是堆,一块是栈(函数参数及局部变量在这里),而栈是从内存的高地址向低地...
阅读(7326) 评论(29)

C++中的抽象类以及接口的区别联系

一、抽象类和接口抽象类: 抽象类是特殊的类,不能被实例化(将定义了纯虚函数的类称为抽象类);除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的,但同时也能包括普通的方法。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。虽然不...
阅读(1713) 评论(0)

虚函数和纯虚函数的区别

首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。 1、简介假设我们有下面的类层次: class A { public:     virtual void foo...
阅读(3901) 评论(7)

运算符重载

所谓重载,就是重新赋予新的含义,函数重载就是对一个已有的函数赋予新的含义,使之实现新功能。运算符的重载主要存在两种形式,一种是作为类的成员函数进行使用,另一种则是作为类的友元函数进行使用。运算符的重载的形式为:    返回类型 operator 运算符符号(参数说明)     {                //函数体的内部实现     } 例如,能否用“+”号进行两个复数的相加,...
阅读(1251) 评论(0)

百度2012实习生校园招聘笔试题

1、给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如的单词army和mary互为兄弟单词。现在要给出一种解决方案,对于用户输入的单词,根据给定的字典找出输入单词有哪些兄弟单词。请具体说明数据结构和查询流程,要求时间和空间效率尽可能地高。字典树的典型应用,一般情况下,字典树的结构都是采用26叉树进行组织的,每个节点对应一个字母,查找的时候,就是一个字...
阅读(11580) 评论(33)

C++中的static关键字

C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static 1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: #include using namesp...
阅读(6127) 评论(11)

Google面试题——及答案

1、 村子里有100对夫妻,其中每个丈夫都瞒着自己的妻子偷情。。。村里的每个妻子都能立即发现除自己丈夫之外的其他男人是否偷情,唯独不知道她自己的丈夫到底有没有偷情。村里的规矩不容忍通奸。任何一个妻子,一旦能证明自己的男人偷情,就必须当天把他杀死。村里的女人全都严格照此规矩办事。一天,女头领出来宣布,村里至少有一个丈夫偷情。请问接下来会发生什么事? 答案:这是一个典型的递归问题。一旦所有的妻子...
阅读(2965) 评论(1)

等概率随机函数的实现

题目:已知随机函数rand(),以p的概率产生0,以1-p的概率产生1,现在要求设计一个新的随机函数newRand(), 使其以1/n的等概率产生1~n之间的任意一个数。解决思路:可以通过已知随机函数rand()产生等概率产生0和1的新随机函数Rand(),然后调用k(k为整数n的二进制表示的位数)次Rand()函数,得到一个长度为k的0和1序列,以此序列所形成的整数即为1--n之间的数字。注...
阅读(3591) 评论(8)

随机数范围扩展方法总结

题目:已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10。分析:要保证rand10()在整数1-10的均匀分布,可以构造一个1-10*n的均匀分布的随机整数区间(n为任何正整数)。假设x是这个1-10*n区间上的一个随机整数,那么x%10+1就是均匀分布在1-10区间上的整数。由于(rand7()-1)*7+rand7()可以构造...
阅读(1689) 评论(2)

寻找最远点对

问题给定平面上N个点的坐标,找出距离最远的两个点。分析类似于“最近点对问题”,这个问题也可以用枚举的方法求解,时间复杂度O(n^2)。 “寻找最近点对”是用到分治策略降低复杂度,而“寻找最远点对”可利用几何性质。注意到:对于平面上有n个点,这一对最远点必然存在于这n个点所构成的一个凸包上(证明略),那么可以排除大量点,如下图所示: 在得到凸包以后,可以只在顶点上面找最远点了...
阅读(2445) 评论(2)

分治算法求最近点对

http://acm.hdu.edu.cn/showproblem.php?pid=1007          先说下题意,很简单,给n个点的坐标,求距离最近的一对点之间距离的一半。第一行是一个数n表示有n个点,接下来n行是n个点的x坐标和y坐标,实数。       这个题目其实就是求最近点对的距离。《算法导论》上有详细讲解,王晓东的书上也有代码。主要思想就是分治。先把n个点按x坐标排序,...
阅读(2419) 评论(1)

N*N匹马,N个赛道,求出最快N匹马的解法

入门级:81匹马,9个赛道,不计时,最少要赛几场可以求出最快四匹马?首先:分为9组分别进行比赛后得到每一组的比赛名次,比赛场次:9;然后:将9组的每组第一名比赛,得到第一名,肯定是所有马的第一名;比赛场次:1 最后:剩下马中有资格角逐前四名的马有A2、A3、A4、B1、B2、B3、C1、C2、D1,刚好有9匹马,在进行一场比赛就可以了,比赛场次:1 所以最少进行11场比赛。提高...
阅读(3129) 评论(3)

浅谈C++多态性

C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。  多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphisn),字面意思多种形状。  C++多态性是通过虚函数来实现的,虚函数允许子类重新定...
阅读(20794) 评论(26)

C++经典面试题

1、int a=5,则 ++(a++)的值是() A、5      B、   6          C、7       D、逻辑错误 a++返回的是一个临时变量,这里是右值,不能再前面++了 2、下面的代码输出什么?(取地址运算符比+运算符的优先级要高) int main(void) { int a[5] = {1, 2, 3, 4, 5}; int *ptr = (int *...
阅读(4287) 评论(5)

字符串的全排列和组合算法

全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,因此本文对全排列作下总结帮助大家更好的学习和理解。对本文有任何补充之处,欢迎大家指出。首先来看看题目是如何要求的(百度迅雷校招笔试题)。一、字符串的排列用C++写一个函数, 如 Foo(const char *...
阅读(9874) 评论(14)

C++中的单例模式

单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。        单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做...
阅读(3022) 评论(5)

const 详解

今天看了一下C++ Primer中关于const用法的介绍,讲得很好, 收益匪浅,于是做一个总结,方便以后再次查看。  但是c++在c的基础上新增加的几点优化也是很耀眼的,就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重。  一、const变量         1、限定符声明变量只能被读   const int i=5;   int j=0;...
阅读(1236) 评论(3)

迅雷2012校园招聘笔试题

1、微机中1K字节表示的二进制位数是() A、1000     B、0X1000   C、1024     D、0X1024 2、设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为() A、0--- 255     B、0--- 32767     C、0--- 65535     D、0--- 2147483647 3、在C语言中,要求运算数必...
阅读(2941) 评论(22)

Catalan数——卡特兰数

Catalan数——卡特兰数 今天阿里淘宝笔试中碰到两道组合数学题,感觉非常亲切,但是笔试中失踪推导不出来后来查了下,原来是Catalan数。悲剧啊,现在整理一下 一、Catalan数的定义令h(1)=1,Catalan数满足递归式:h(n) = h(1)*h(n-1) + h(2)*h(n-2) + ... + h(n-1)h(1),n>=2该递推关系的解为:h(n) = C(2n...
阅读(3510) 评论(9)

微软校园招聘笔试题

1、Suppose that a selection sort of 80 items has completed 32 iterations of the main loop. How many items are now guaranteed to be in their final spot (never to be moved again)? A、16    B、31   C、32...
阅读(9660) 评论(51)

2011Google校园招聘笔试题

1、已知两个数字为1~30之间的数字,甲知道两数之和,乙知道两数之积,甲问乙:“你知道是哪两个数吗?”乙说:“不知道”。乙问甲:“你知道是哪两个数吗?”甲说:“也不知道”。于是,乙说:“那我知道了”,随后甲也说:“那我也知道了”,这两个数是什么?答:1和4 或者1和7 2、一个环形公路,上面有N个站点,A1, ..., AN,其中Ai和Ai+1之间的距离为Di,AN和A1之间的距离为D0。...
阅读(2479) 评论(2)

实习生招聘笔试

1、计算表达式x6+4x4+2x3+x+1最少需要做()次乘法 A、3                 B、4                  C、5                       D、6 第一次乘法:x^2,第二次乘法:x^4=x^2 * x^2,第三次乘法:原式=x^2 * (x^4+4x^2+2x)+x+1,每一项的系数可以使用加法来实现。。 2、给定3个int类型的正...
阅读(7713) 评论(37)

汽车加油行驶问题

http://poj.org/problem?id=2431   Expedition /* n个加油站,,邮箱容量不限,,,,每个加油站可加的油量有限,,,求最少的加油次数因为邮箱容量不限,,,可以这样贪心,,,如果邮箱的油能到达下一站,,则直接到达下一站,,否则,,,从已经走过的加油站中选择油量最多的站加一次油 */ #include #include #include #includ...
阅读(2318) 评论(0)

二分图的最大匹配

二分图指的是这样一种图,其所有顶点可以分成两个集合X和Y,其中X或Y中任意两个在同一集合中的点都不相连,所有的边关联在两个顶点中,恰好一个属于集合X,另一个属于集合Y。给定一个二分图G,M为G边集的一个子集,如果M满足当中的任意两条边都不依附于同一个顶点,则称M是一个匹配。图中包含边数最多的匹配称为图的最大匹配。      二分图的最大匹配有两种求法,第一种是最大流;第二种就是我现在要讲的匈牙利...
阅读(1823) 评论(1)

POJ1753 棋盘翻转(位压缩+广度优先搜索)

http://poj.org/problem?id=1753 题目大意:有一个4*4的方格,每个方格中放一粒棋子,这个棋子一面是白色,一面是黑色。游戏规则为每次任选16颗中的一颗,把选中的这颗以及它四周的棋子一并反过来,当所有的棋子都是同一个颜色朝上时,游戏就完成了。现在给定一个初始状态,要求输出能够完成游戏所需翻转的最小次数,如果初始状态已经达到要求输出0。如果不可能完成游戏,输出Impo...
阅读(1042) 评论(0)

用位运算实现四则运算之加减乘除(用位运算求一个数的1/3)

听同学百度二面中,不准用四则运算操作符来实现四则运算。一想就想到了计算机组成原理上学过的。位运算的思想可以应用到很多地方,这里简单的总结一下用位运算来实现整数的四则运算。加法运算: int AddWithoutArithmetic(int num1,int num2) { if(num2==0) return num1;//没有进位的时候完成运算 int sum,carry; sum=...
阅读(2532) 评论(0)

根据树的两种遍历序列求第三种遍历序列

只知道先序序列和后序序列是无法求出唯一的树,所以不做讨论。 #include #include #include using namespace std; struct BinaryTreeNode { char c; BinaryTreeNode *lchild, *rchild; BinaryTreeNode() { lchild = NULL, rchild = NULL;...
阅读(835) 评论(0)

最短路径Dijkstra(静态邻接表+优先队列模板)+ 记忆化搜索

这道题的解题步骤是这样的:(1)用Dijkstra求出每个点到house(也就是2号点)的最短距离,我是记录在数组dist[]中;(2)我们要求的是office(1号点)到house(或2——>1)最短路径的条数;(3)记忆化搜索部分是基于这样的事实,我们利用Dijkstra找到的从2号点到1号点的最短路径中的每个点v,dist[v]都小于dist[1]。 http://acm.hd...
阅读(1398) 评论(1)

天平秤重问题

[问题描述]:  有一只天平和N只砝码,如何设计这N只砝码,才能使这天平能够连续秤出的重量最大?假设砝码的最小单位为1克,秤物时物品放在天平的左边,砝码可以放在右边也可以放在左边,不管放在哪一边只要天平能够平衡就行,物品的重量应是右边砝码总重量减去左边砝码的重量。输入一个物品的重量,输出其秤重方案。  [分析与算法选择]:  这个问题是从一个经典的数学问题变化而来,这个数学问题的大意是:...
阅读(1019) 评论(1)

背包问题扩展

http://acmpj.zstu.edu.cn/JudgeOnline/showproblem?problem_id=2574   砝码称重 Description 设有1g 2g 3g 5g 10g 20g的砝码各若干枚(其总重 Input 有多个测试数据 每个测试数据一行,由6个整数组成,分别是1g 2g 3g 5g 10g 20g砝码的数量 最后一行是0 0 0 0 0...
阅读(1411) 评论(2)

百度最新面试题集锦

1、实现一个函数,对一个正整数n,算得到1需要的最少操作次数。操作规则为:如果n为偶数,将其除以2;如果n为奇数,可以加1或减1;一直处理下去。例子: func(7) = 4,可以证明最少需要4次运算 n = 7 n-1 6 n/2 3 n-1 2 n/2 1 要求:实现函数(实现尽可能高效) int func(unsign int n);n为输入,返回最小的运算次数。给出思路(...
阅读(44285) 评论(99)

memset()的效率以及源码分析

void *memset(void *s, int ch, size_t n); 作用:将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作。不知道有没有像我一样把memset当作万能的初始化工具,例如: int arr[n]; memset(arr,1,n*sizeof(int)); 这样得到的a...
阅读(2235) 评论(0)

背包问题的应用

http://acm.hdu.edu.cn/showproblem.php?pid=2602  Bone Collector Problem Description Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect vari...
阅读(1257) 评论(2)

背包问题详解

P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是: f[i][v]=max{f[i-1][v],f...
阅读(1162) 评论(0)

浙商银行2011.11.26校园招聘会笔试题

1、下列4行代码是否有错误,若有错误请指出,若没有,请确定a的值是多少? int main(void) {     int a = 3;     a += (a++);        //7     a += (++a);        //8     (++a) += (a++);    //9     (a++) += a;        //a++不是左值,是右值     return 0...
阅读(1330) 评论(4)
 

趋势科技笔试题

1、下面程序的输出是多少? void GetMemory(char *p) { p = (char *)malloc(11); } int main(void) { char *str = "Hello"; GetMemory(str); strcpy(str,"Hello World"); printf("%s",str); return 0; } A、...
阅读(3522) 评论(13)

猴子分桃问题

5只猴子分一堆桃子,怎么也不能分成5等份,只好先去睡觉,准备第二天再分。夜里1只猴子偷偷爬起来,先吃掉1个桃子,然后将其分成5等份,藏起自己的一份就去睡觉了;第2只猴子又爬起来,吃掉1个桃子后,也将桃子分成5等分,藏起自己的一份睡觉去了;以后的3只猴子都先后照此办理。问最初至少有多少个桃子? 倒过来想问题:要假设第五只猴子时,平均每个猴子得到n个桃子第五只猴子吃掉一个桃子后剩5n个...
阅读(2816) 评论(3)

阿里巴巴笔试题

1、有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页? A、7                       B、8                            C、9                           D、10 2、设有一个顺...
阅读(23884) 评论(100)

Perfect World

1、下面程序的正确输出结果为()class test { public: void print() { cout<<"test"<print(); t = NULL; t->print(); return 0; } A、编译不通过           B、运行时必...
阅读(2319) 评论(6)

复杂链表的复制

题目:有一个复杂链表,其结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任一结点或者NULL。其结点的C++定义如下:  struct ComplexNode {     int m_nValue;     ComplexNode* m_pNext;     ComplexNode* m_pSibling; }; 下图是一个含有4个结点的该类...
阅读(2058) 评论(1)

2012搜狗校园招聘笔试题

1、下面代码中for循环共执行了多少次? unsigned short i,j; for(i=0, j=2; i!=j; i+=5, j+=7) {} unsigned short占用2个字节,当数据范围到头了(2^16-1),就又从0开始计数了,这个其实就是两辆汽车行驶在一个圆圈里的汽车追及问题。一个速度为5,一个速度为7,当速度为7的超越速度为5的时候,两个汽车就相遇了,2 + 7n...
阅读(4451) 评论(3)

盛大游戏2011.10.22校园招聘会笔试题

1、下列代码的输出为: #include "iostream" #include "vector" using namespace std; int main(void) { vectorarray; array.push_back(100); array.push_back(300); array.push_back(300); array.push_back(500); vec...
阅读(3025) 评论(6)

迅雷笔试题

1、下面的程序可以从1....n中随机输出m个不重复的数。请填空 knuth(int n, int m) {          srand((unsigned int)time(0));        for (int i=0; i           {                  if (            )                   {...
阅读(2878) 评论(3)

一道网易游戏笔试题的不同解法

下面的乘法计算过程中的不同字母代表0-9中不同的数,请写出与各个字母对应的数字:      ABCDEFGH *                    AJ   ------------------    EJAHFDGKC    BDFHAJEC     ------------------   CCCCCCCCC 下面我给出各种人群可能采取的解法: 1、小学生由K+C...
阅读(2649) 评论(2)

微策略2011校园招聘笔试题(找出数组中两个只出现一次的数字)

1、8*8的棋盘上面放着64个不同价值的礼物,每个小的棋盘上面放置一个礼物(礼物的价值大于0),一个人初始位置在棋盘的左上角,每次他只能向下或向右移动一步,并拿走对应棋盘上的礼物,结束位置在棋盘的右下角,请设计一个算法使其能够获得最大价值的礼物。 //经典的动态规划 //dp[i][j] 表示到棋盘位置(i,j)上可以得到的最大礼物值 //dp[i][j] = max( dp[i][j-1] ,...
阅读(6300) 评论(7)

经典面试题

1、编程实现两个正整数的除法,当然不能用除法操作符。 //编程实现两个正整数的除法,当然不能用除法操作符 int div(const int x, const int y) { int left_num = x; int result = 0; int multi; while (left_num >= y) //模拟小学学过的竖式除法运算 { multi =...
阅读(3184) 评论(6)

浅谈函数指针

函数指针的概念,在潭浩强先生的C语言程序设计这本经典的教程中提及过,在大多数情况下我们使用不到,也忽略了它的存在。函数名实际上也是一种指针,指向函数的入口地址,但它又不同于普通的如int*、double*指针,看下面的例子来理解函数指针的概念: int function( in...
阅读(2730) 评论(4)

来源:http://blog.csdn.net/Hackbuteer1/article/category/899947/6

2011.10.17百度面试题

1、进程切换需要注意哪些问题?保存处理器PC寄存器的值到被中止进程的私有堆栈;      保存处理器PSW寄存器的值到被中止进程的私有堆栈;    保存处理器SP寄存器的值到被中止进程的进程控制块;保存处理器其他寄存器的值到被中止进程的私有堆栈;     自待运行进程的进程控制块取SP值并存入处理器的寄存器SP;    自待运行进程的私有堆栈恢复处理器各寄存器的值;自待运行进程的私有堆...
阅读(4616) 评论(9)

百度2011.10.16校园招聘会笔试题

一、算法设计 1、设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。思路:这个使用数学中的极坐标来解决,先调用[s1,t1]随机产生一个数r,归一化后乘以半径,得到R*(r-s1)/(t1-s1),然后在调用[s2,t2]随机产生一个数a,归一化后得到角度:360*(a-s2)/(t2-s2) 2、为分析用户行为,系统常需存...
阅读(10279) 评论(21)

网易游戏2011.10.15校园招聘会笔试题

1、对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少。页面大小是8KB,那么页内偏移量是从0x0000(0)~ 0x1FFF(2的13次方 - 1)。0x5F123/8K=2E,余数是1123;则页号是47页,页内偏移量应该是0X00001123。 2、如果X大于0并小于65536,用移位法计算X乘以255的值为:    (X X 3...
阅读(11645) 评论(49)

腾讯2011.10.15校园招聘会笔试题

1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是(B) A、插入排序                      B、堆排序                    C、冒泡排序                     D、快速排序 2、以下关于Cache的叙述中,正确的是(B) A、CPU中的Cache容量应大于CPU之外的Cache容量 B、Cache的设计思想是在合理成本...
阅读(18430) 评论(35)

C++函数中那些不可以被声明为虚函数的函数

常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。 1、为什么C++不支持普通函数为虚函数?       普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在编译时...
阅读(3919) 评论(1)

浙江绿盟科技2011.10.14校园招聘会笔试题

1、以下哪些协议不是应用层通信协议? A、HTTP、TELNET          B、FTP、SMTP       C、SNMP、NBNS         D、ICMP、ARP 2、Ping命令是使用以下哪个协议实现的() A、UDP           B、ARP                 C、IGMP                       D、ICMP...
阅读(4756) 评论(5)

淘宝2011.9.23校园招聘会面试题

1、操作系统中的同步和异步有什么区别?分别应用在什么场合?答:同步,就是说你的程序在执行某一个操作时一直等待直到操作完成。    最常见的例子就是 SendMessage。该函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。当对方处理完毕以后,该函数才把消息处理函数所返回的 LRESULT值返回给调用者。异步,就是说程序在执行某一个操作时,只是发出开始的指令;由另外的并行程...
阅读(7849) 评论(13)

一道关于宏的面试题及解答

题目: #include using namespace std; #define SQR(X) X*X int main(void) { int a = 10; int k = 2; int m = 1; a /= SQR(k+m)/SQR(k+m); printf("%d\n",a); return 0; }这道题目的结果是什么啊?      【解答】典...
阅读(881) 评论(1)

c语言面试精华版

1、下面的代码输出的结果是什么,并简单分析结果。 #include //无符号数与有符号数相加 int main(int argc, char **argv) { unsigned int a = 6; int b = -12; if(a+b > 0) { printf("dsds\n"); printf("a+b=%d\n" , a+b); printf("a+...
阅读(1779) 评论(0)

程序员面试智力题集锦

1、假设你站在镜子前,抬起左手,抬起右手,看看镜中的自己。当你抬起左手时,镜中的自己抬起的似乎是右手。可是当你仰头时,镜中的自己也在仰头,而不是低头。为什么镜子中的影像似乎颠倒了左右,却没有颠倒上下?答:上下和左右的定义不同,上下是面对称的,左右是旋转对称的 (如果两只眼睛是长成一上一下就好了) 2、有50家人家,每家一条狗。有一天警察通知,50条狗当中有病狗,行为和正常狗不一样。每人只...
阅读(1881) 评论(0)

用C++设计一个不能被继承的类

在C#中定义了关键字sealed,被sealed修饰的类不能被继承。在Java中同样也有关键字final表示一个类型不能被继承。在C++中没有类似于sealed和final的关键字,所以我们只有自己来实现。       很多人都能够想到,类的构造函数和析构函数是关键。因为子类的构造函数会自动调用父类的构造函数。子类的析构函数也会自动调用父类的析构函数。所以要想使一个类不能被继承,只有把它的构造函...
阅读(1126) 评论(1)

拷贝构造函数的参数类型必须是引用

在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识。 但是如果我问你“拷贝构造函数的参数为什么必须使用引用类型?”这个问题, 你会怎么回答? 或许你会回答为了减少一次内存拷贝? 很惭愧的是,我的第一感觉也是这么回答。不过还好,我思索一下以后,发现这个答案是不对的。原因:        如果拷贝构造函数中的参数不是一个引用,即形如CClass...
阅读(2171) 评论(2)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值