IT面试
文章平均质量分 77
帆天尽
屌丝一名菜鸟程序员一个逆袭之日遥遥无期
展开
-
面试智力题—转自blog.csdn.net/hackbuteer1
1、考虑一个双人游戏。游戏在一个圆桌上进行。每个游戏者都有足够多的硬币。他们需要在桌子上轮流放置硬币,每次必需且只能放置一枚硬币,要求硬币完全置于桌面内(不能有一部分悬在桌子外面),并且不能与原来放过的硬币重叠。谁没有地方放置新的硬币,谁就输了。游戏的先行者还是后行者有必胜策略?这种策略是什么? 答案:先行者在桌子中心放置一枚硬币,以后的硬币总是放在与后行者刚才放的地方相对称的位置。这样转载 2013-10-14 11:33:57 · 1427 阅读 · 0 评论 -
编程:找出数组中的特殊数-转自Si-World
假设有一个数组P有3N+1个整数,其中有N个数每个出现3次,还有一个特殊数仅出现过一次,比如{a,a,a,b,b,b,c}。要求只遍历一遍数组将这个数找出来,空间复杂度O(1)。如果是每个数只出现两次,那么只需要把所有的数异或起来就可以得到最终的结果了。那出现三次呢?下面这个程序巧妙地实现了这一点:int A = 0, B = 0;for (int I = 0; I 3 *转载 2013-10-14 11:34:03 · 585 阅读 · 0 评论 -
不用+、-、×、÷数字运算符做加法—转自zhedahht.blog.163.com
题目:写一个函数,求两个整数的之和,要求在函数体内不得使用+、-、×、÷。 分析:这又是一道考察发散思维的很有意思的题目。当我们习以为常的东西被限制使用的时候,如何突破常规去思考,就是解决这个问题的关键所在。 两数之和四则运算都不能用,那还能用什么啊?对呀,还能用什么呢?对数字做运算,除了四则运算之外,也就只剩下位运算了。位运算是针对二进制的,我们也就以二进制再来分析一下前面转载 2013-10-14 11:33:54 · 848 阅读 · 0 评论 -
随机取样问题的几种方法比较
问题1:写一个随机洗牌函数。要求洗出的所有组合都是等概率的。 这里我们的答案:都假定数组从0开始:1. 参考Cracking the coding interview--答案20.2void RandomShuffle1(int a[], int n){ for(int i=0; i<n-1; ++i){ int j = rand() % (n-i) + i原创 2013-12-10 19:42:41 · 1055 阅读 · 0 评论 -
快速排序的多种实现比较
快速排序是基于分治模式处理的:对一个典型子数组A[p...r]排序的分治过程为三个步骤:1.分解:A[p..r]被划分为俩个(可能空)的子数组A[p ..q-1]和A[q+1 ..r],使得A[p...q-1] 2.解决:通过递归调用快速排序,对子数组A[p ..q-1]和A[q+1 ..r]排序。3.合并。其中分解的方法有多种,很容易引起混淆,下面逐一介绍。1. Lomuto从左至右单向扫描版:原创 2013-12-10 15:48:01 · 547 阅读 · 0 评论 -
绿皮书里的智力面试题
转自——http://zhiqiang.org/blog/science/brain-teasers-from-quant-practical-guide.html题目来源:《A practical Guide to quantitative finance interviews》,解答和书上的可能不一样。1.题目1. A让C要送一份资料给B。但C不可靠,A可以把资料放转载 2014-01-09 14:45:48 · 4515 阅读 · 0 评论 -
程序员有趣的面试智力题
转自——http://blog.csdn.net/hackbuteer1/article/details/6726419 偶然间在网上看到几个原来没见过的面试智力题,有几个题目在国内流传相当广,什么n个人怎么分饼最公平,屋里的三个灯泡分别由哪个开关控制,三架飞机环游世界,用火柴和两根绳子测量45分钟之类的题目,火星得已经可以考古了,这里就不再说了。 1、考虑一个双人转载 2014-01-09 14:49:04 · 440 阅读 · 0 评论