随笔分类 -  技术面试题

摘要:大家应该都听说过这个老题目:有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?这个问题的答案也堪称经典:把瓶子从 0 到 999 依次编号,然后全部转换为 10 位二进制数。让第一只老鼠喝掉所有二进制数右起第一位是 1 的瓶子,让第二只老鼠喝掉所有二进制数右起第二位是 1 的瓶子,等等。一星期后,如果第一只老鼠死了,就知道毒药瓶子的二进制编号中,右起第一位是 1 ;如果第二只老鼠没死,就知道毒药瓶子的二进制编号中,右起第二位是 0 ……每只老鼠的死活都能确定 阅读全文
posted @ 2012-10-22 11:36 技术收集专用 阅读(1304) 评论(0) 推荐(0)
摘要:六.算法题请参考数据结构和计算机算法类书籍,作者就不再抄书了。附(1):烧绳子类问题总结:一般给出的绳子都是不均匀的。如果一根为一小时,那么半个小时的计算方法是从两头烧。十五分钟的计算方法是从两头烧,同时从中间任何一个地方开始烧,这样这根绳子就有四个燃烧点,时间自然是一个燃烧点的四分之一。如果计算十分钟的时间,那么就让绳子有六个燃烧点,方法就不用说了吧!附(2):天平称球问题解答以及总结:将球分为a b c d; e f g h; i j k l 三组。第一次称量,比较 abcd efgh情形一:两者重量相等,此时说明答案在ijkl中。称量ij,如果相等,说明答案在kl中。拿k与a比较,如果相 阅读全文
posted @ 2012-10-17 21:06 技术收集专用 阅读(196) 评论(0) 推荐(0)
摘要:void test(int nn){ const double e = 1e-6; double k = 10; double n = 2, m = k; while (n - m < -e || n - m > e) { m = k / n; n = (m + n) / 2; // cout<<n<<endl; } cout<<n<<endl;} 阅读全文
posted @ 2012-10-17 19:44 技术收集专用 阅读(140) 评论(0) 推荐(0)
摘要:正则表达式全部符号解释字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。^匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。$匹配输入字符串的结束位置。如果设置了RegExp 对象的 Mult 阅读全文
posted @ 2012-10-13 20:52 技术收集专用 阅读(137) 评论(0) 推荐(0)
摘要:转自:http://www.mitbbs.com/article_t/CS/31186033.html二叉树是面试里常见的问题种类,大家在面试前必须熟悉这一类的问题。以下是我收集的一些常见二叉树面试问题(包括我亲身经历的)。多做多练习,相信你一定可以掌握好。我会在这里更新和添加常见到的二叉树问题。Determine if a Binary Tree is a Binary Search Tree这题很常见,microsoft,amazon, google的面试都有人被问过。这题也是二叉树的好题,必须得对BST的定义搞清楚。有一个常见的陷阱,就是把current node的value和leftn 阅读全文
posted @ 2012-10-12 13:54 技术收集专用 阅读(733) 评论(0) 推荐(0)
摘要:方法题集:方法一.int n=0;while(n>=3){A-=3;n++;}方法二.A/3 = A/2 - A/6A/6 = A/4 - A/12A/12 = A/8 - A/24so: A/3 = A/2-(A/4-(A/8-(A/16-(A/14.....公式没法打,A/3=累加(-1)k次方* A/(2的K次方)即:N是个值较大的数for(i = 0;i < N;i++) anwer += pow(i,-1)*(A>>1)方法三.int divby3(int x){return ((__int64)x*0xAAAAAAABULL)>>33 ;}比0x 阅读全文
posted @ 2012-10-12 10:59 技术收集专用 阅读(320) 评论(0) 推荐(0)
摘要:转自:http://blog.csdn.net/hackbuteer1/article/details/6726419偶然间在网上看到几个原来没见过的面试智力题,有几个题目在国内流传相当广,什么n个人怎么分饼最公平,屋里的三个灯泡分别由哪个开关控制,三架飞机环游世界,用火柴和两根绳子测量45分钟之类的题目,火星得已经可以考古了,这里就不再说了。 1、考虑一个双人游戏。游戏在一个圆桌上进行。每个游戏者都有足够多的硬币。他们需要在桌子上轮流放置硬币,每次必需且只能放置一枚硬币,要求硬币完全置于桌面内(不能有一部分悬在桌子外面),并且不能与原来放过的硬币重叠。谁没有地方放置新的硬币,谁就输了。游戏的 阅读全文
posted @ 2012-10-09 16:44 技术收集专用 阅读(204) 评论(0) 推荐(0)
摘要:转自:http://blog.csdn.net/bao_qibiao/article/details/4516196四种进程或线程同步互斥的控制方法1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。2、互斥量:为协调共同对一个共享资源的单独访问而设计的。3、信号量:为控制一个具有有限数量用户资源而设计。4、事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。 临界区(Critical Section)保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么 在有一个线程进入后其 阅读全文
posted @ 2012-10-08 22:26 技术收集专用 阅读(138) 评论(0) 推荐(0)