
面试集锦
文章平均质量分 53
famousDT
掌握C/C
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【编程之美】1的个数+POJ-3286(0的个数)
/*==========================================================*\ | 【google面试题】给定一个正整数N,写下从1开始,到N的所有整数, | 然后数一下其中出现的所有“1”的个数。 | (1)写一个函数f(N); | (2)满足条件“f(N) = N”的最大的N是多少? | 【解答】 | (1)只分析当前位是0,1或者[2,9]三种情原创 2012-03-09 10:58:55 · 620 阅读 · 0 评论 -
面试整理
int i = 1; int main() { int i = i; return 0; } //能通过编译,但i是未定义的值 下水道井盖为什么是圆的 展示一段自己觉得写过的最好的程序 数组在哪里分配空间(堆or栈)原创 2012-07-09 11:22:34 · 1574 阅读 · 0 评论 -
Xmart Imaging【笔试】
1. 求sizeof #include #include union my { int x; int y[5]; char z; }; struct you { int a; union my b; double c; }; int main() { printf("%d %d原创 2012-07-05 13:21:45 · 817 阅读 · 0 评论 -
2011百度之星初赛A-图标排列
【题目描述】 百度应用平台上有很多有趣的应用,每个应用都由一个开发者开发,每个开发者可能开发一个或多个应用。百度的工程师们想把应用尽可能好的推荐给用户。 研究发现,同一个开发者开发的程序的图标有很大的相似性。如果把同一个开发者开发的应用放在一起,用户很快就会厌倦相似的图标,如果把这些图标穿插摆放效果就会好很多。 现在工程师想给用户推荐来自m个开发者的n个应用,在推荐的时候这些应用的图原创 2012-05-22 16:26:36 · 226 阅读 · 0 评论 -
百度实习笔试题(6-8题)(2012.05.06)
6.有一种结构如下图所示,它由层的嵌套组成,一个父层中只能包含垂直方向上或者是水平方向上并列的层,例如,层1可以包含2、3、4三个垂直方向上的层,层2可以包含5和6两个水平方向的层,在空层中可以包含数据节点,所谓的空层是指不包含子层的层,每个空层可以包含若干个数据节点,也可以一个都不包含。在这种结构上面,我们从垂直方向上划一条线,我们约定每一个子层中我们只能经过一个数据节点,在这种情况下,每条线可原创 2012-05-09 14:04:04 · 740 阅读 · 0 评论 -
百度实习笔试题解析(第二题)(2012.05.06)
2.线程和进程有什么区别,“线程安全”怎么理解? 【区别】 (1)简而言之,一个程序至少有一个进程,一个进程至少有一个线程。 (2)线程是处理器调度的基本单位,但进程不是。 (3)线程的划分尺度小于进程,使得多线程程序的并发性高。 (4)另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 (5)进程和线程的主要差别在于它们是不同的操作系统资源原创 2012-05-09 13:04:04 · 1594 阅读 · 0 评论 -
百度实习笔试题解析(第一题)(2012.05.06)
1. 单词a中任意字母交换位置变为单词b,我们就称单词a,b为兄弟单词,如 army 与 mary为兄弟单词。现给一个单词字典,用户输入一个单词,找出字典中所有的兄弟单词,请写出你的解题思路和算法。 【解题思路】:在编程珠玑上第二章结束出有此题的解析(18-19页),首先将字典里的单词做这样的处理 如字典有:pans pots opt snap stop tops 处理结果如下: 格式A:原创 2012-05-09 12:48:01 · 679 阅读 · 0 评论 -
百度实习笔试题解析(3-5题)(2012.05.06)
3.c与c++分别是怎样动态分配和释放内存的,有什么区别? c是malloc和free,c++是new和delete,区别如下: (1)new、delete 是操作符,可以重载,只能在C++中使用。 (2)malloc、free是函数,可以覆盖,C、C++中都可以使用。 (3)new 可以调用对象的构造函数,对应的delete调用相应的析构函数。 (4)malloc仅仅分配内存,free原创 2012-05-09 13:41:03 · 632 阅读 · 0 评论 -
【编程之美】精确表达浮点数
转自hi,baidu 【问题描述】: 在计算机中,使用float或者double来存储小数是不能得到精确值的。如果你希望得到精确计算结果,最好是用分数形式来表示小数。有限小数或者无限循环小数都可以转化为分数。比如: 0.9 = 9/10 0.333(3)= 1/3(括号中的数字表示是循环节) 当然一个小数可以用好几种分数形式来表示。如: 0.333(3)= 1/3 = 3转载 2012-03-22 10:49:35 · 664 阅读 · 0 评论 -
【编程之美】寻找发帖水王+SOJ-2399+SOJ-2861+SOJ-2862
【题目描述】 有一组数,很多很多个数,里面有一个数出现了超过一半次,请你把它找出来. int find_over_half(int d[], int n) { int i, sum = 0, t; for (i = 0; i < n; ++i) { if (sum == 0) { t = d[i]; sum = 1; } else { if (d[i] == t)原创 2012-03-22 10:43:45 · 7274 阅读 · 1 评论 -
【编程之美】桶中取黑白球+SOJ-3261
SOJ-3261只是把黑球和白球交换,对于SOJ来说,结果只和黑球数量有关,而下面的只和白球数量有关。 【题目描述】 有一个桶,里面有白球、黑球各100个,人们必须按照以下的规则把球取出来: 1、每次从桶里面拿出来两个球; 2、如果是两个同色的球,就再放入一个黑球; 3、如果是两个异色的球,就再放入一个白球; 问:最后桶里面只剩下一个黑球的概率是多少? 【解题思路】 思路1:找原创 2012-03-21 16:11:49 · 1112 阅读 · 0 评论 -
【编程之美】不要被阶乘吓倒+SOJ-1159
转自人人网。 阶乘(Factorial)是个很有意思的函数,但是不少人都比较怕它,我们来看看两个与阶乘相关的问题: 1. 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0。 2. 求N!的二进制表示中最低位1的位置。 分析与解法 有些人碰到这样的题目会想:是不是要完整计算出N!的值?如果溢出怎么办?事实上,如果我们转载 2012-03-21 17:41:32 · 656 阅读 · 0 评论 -
【寻找临界楼层】面试难题
问题1 :题目:一种石头,在某一高度扔下就会碎,在这个高度以下不会碎,高度以上一定碎。现在有4个石头,1000层的楼房,需要测定这个石头破碎的高度。求最少多少次一定可以测出来。 问题2 : 题目:一个100层的大厦,你手中有两个相同的鸡蛋(玻璃球或围棋)。从这个大厦的某一层扔下鸡蛋((玻璃球或围棋))就会碎,用你手中的这两个鸡蛋(玻璃球或围棋),找出一个最优的策略,来得知那个临界层面。原创 2012-10-04 20:18:21 · 1872 阅读 · 0 评论