1. 问:有20瓶药,其中19瓶装的都是1.0克的药片,只有1瓶装了1.1克的药。给你一个能称出具体克数的电子秤,只允许你称一次,怎么找出那瓶不一样的?
    答:如果药片足够,从第i(1<i<20)个瓶子里取出数量为i的药片称重为Xg,[X-(21*20/2)]/0.1即为装了1.1g药的瓶子的编号。

  2. Q:A bunch of men are on an island. A genie comes down and gathers everyone together and places a magical hat on some people’s heads ( i.e., at least one person has a hat). The hat is magical: it can be seen by other people, but not by the wearer of the hat himself. To remove the hat, those (and only those who have a hat) must dunk themselves underwater at exactly midnight. If there are n people and c hats, how long does it take the men to remove the hats? The men cannot tell each other (in any way) that they have a hat.
    A:假如只有一个帽子,那么戴着帽子的那个人出去一看,另外n-1个人都没有帽子, 而题目已经说了,至少有一个人是戴着帽子的,所以可以推断唯一一个戴着帽子的就是自己, 于是他会在第1天的午夜泡到水里,去掉头上的帽子。
    如果有2个帽子, 比如说是A和B戴着,A第1天发现B是戴着帽子的,而A又不知道一共有多少个帽子, 所以他无法判断自己头上是否戴了帽子,因此A第1天什么也不做。同理,B也一样。 到了第二天,A发现B还戴着他的帽子,这就说明了至少要有2顶帽子。否则如果只有一顶, B能推理出来,并且在第一天午夜就去掉它了。如果至少有2顶,B已经戴了一顶, 那么另一顶就在自己(A)头上了,所以A在第2天的午夜去掉了帽子。同理, B也做出了同样的推理,在第2天午夜去掉了帽子。
    从以上的分析我们马上可以得出,如果有c个帽子, 那么需要c天的时间才能把所有的帽子去掉,而且这c个人都是在第c天的午夜才摘除帽子的。

  3. 问:两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座100层的建筑,要你用这两个鸡蛋以最少的次数确定哪一层是鸡蛋可以安全落下的最高位置。可以摔碎两个鸡蛋。
    答:这道题我是参考https://blog.csdn.net/linj_m/article/details/9792821,
    递归方法比较容易想但是求解起来比较麻烦,假设f{n}表示从第n层楼扔下鸡蛋,没有摔碎的最少尝试次数,第一个鸡蛋从第i层扔下,摔碎后第二个鸡蛋最坏尝试i-1次,没摔碎问题转化为f{n-i},则递归方程为f{n}=min{1+max{i-1,f{n-i}}}。
    数学方法为:假设最少次数为X次,则第一次应该在X层扔下,第二次应该在X+(X-1)次扔下,第三次应该在X+(X-1)+(X-2)次扔下… …以此类推,最终X个等差数列和为N(这里是100),即x(x+1)/2 >= 100, 即x>=14,得到答案最少要尝试14次。

  4. 问:有3升的瓶子和5升的瓶子,怎样量出4升水?
    答:
    方法一:先将5升瓶子装满(3:0;5:5),5升往3升瓶子里倒满后还剩余2升(3:3;5:2),把3升瓶子倒空后将5升瓶子中的2升倒入3升瓶子(3:2;5:0),再将5升瓶子装满后倒入3升瓶子直至倒满(3:3;5:4),此时5升瓶子中有4升水。
    方法二:将3升瓶子装满倒入5升瓶子(3:0;5:3),再次将3升瓶子装满倒入5升瓶子(3:1;5:5),将5升瓶子倒空后将3升瓶子的水倒入5升瓶子(3:0;5:1),将3升瓶子装满水后倒入5升瓶子(3:0;5:4),此时5升瓶子中有4升水。

  5. 问:有一个8x8的国际象棋棋盘,对角线两端的方格被去掉了。你有31个多米诺骨牌, 每个骨牌能覆盖棋盘上两个方格。你能用31个多米诺骨牌覆盖整个棋盘吗( 不包含去掉的2个方格)。如果能,请给出覆盖方案;如果不能,请说明为什么。
    答:不能,通过给棋盘上色可以更加容易理解这个问题。

    如上图所示,一块多米诺牌只能占据一块黄格+一块红格,不能同时占用两块颜色相同的格子,那么去掉两块黄色格字后,最后必定剩下两个红色格子和一张多米诺牌。

  6. Q:There are one hundred closed lockers in a hallway. A man begins by opening all one hundred lockers. Next, he closes every second locker. Then he goes to every third locker and closes it if it is open or opens it if it is closed (e.g., he toggles every third locker). After his one hundredth pass in the hallway, in which he toggles only locker number one hundred, how many lockers are open?
    A:第n把锁会在n的约数词被操作,一把锁只有经过奇数次操作才能处于open的状态,问题即转化为求1-100内有奇数个约数的个数,即整数平方的个数(1,4,9,16,25,36,49,64,81,100),共10把锁开着。

Google面试之快乐智力题(Cracking the Coding Interview)相关推荐

  1. 这些面试中的智力题,你都会了吗

    转载自   这些面试中的智力题,你都会了吗 1. 给一个瞎子52张扑克牌,并告诉他里面恰好有10张牌是正面朝上的.要求这个瞎子把牌分成两堆,使得每堆牌里正面朝上的牌的张数一样多.瞎子应该怎么做? 2. ...

  2. 技术面试别扯智力题!

    作者 | 阿文 责编 | 伍杏玲 出品 | 程序人生(ID:coder_life) 所谓"面试造火箭,入职拧螺丝". 对于一名开发者而言,我相信很多开发者在求职面试过程中并不会有机 ...

  3. Cracking the coding interview

    转自:http://hawstein.com/posts/ctci-solutions-contents.html Cracking the coding interview--问题与解答 March ...

  4. 经典算法题目:Cracking the coding interview 问题与解答

    Cracking the coding interview--问题与解答 March 14, 2013 作者:Hawstein 出处: http://hawstein.com/posts/ctci-s ...

  5. [Free] Cracking the Coding Interview 6th Download

    [Free] Cracking the Coding Interview 6th Download 推荐给有梯子的童鞋们! https://www.pdfdrive.com/cracking-the- ...

  6. 【面试】场景 智力题

    目录 一.场景题 二.智力题 一.场景题 (1)十个海量数据问题及解决方案:面试必须掌握的十个海量数据问题及解决方案_hitxueliang的专栏-CSDN博客_海量数据问题 二.智力题 (1)5只猫 ...

  7. 《Cracking the Coding Interview》——第6章:智力题——题目4

    2014-03-20 01:02 题目:无力描述的一道智力题,真是货真价实的智力题,让我充分怀疑自己智力的智力题.有兴趣的还是看书去吧. 解法:能把题目看懂,你就完成80%了,用反证法吧. 代码: 1 ...

  8. 面试中的智力题及编程实践

    我曾经把我从各处总结的智力题(也即是稍微需要点技巧的)题目,拿给周围的人解,鲜有人能很快给出解决方案,更不消说充满技巧性的解决方案.所以,一时之间,第一次接触,想不出答案,并不丢脸,需要有意识的训练与 ...

  9. 渣基础:比照Hawstein学Cracking the coding interview(1)

    <C++ Primer 第五版>书实在是太长,太厚了.总是看了十几页就看累了,坚持不了多久,想了想还是别勉强自己,决定把它当工具书查看,或者积累足够的C++经验后再翻阅一遍. 目前的打算是 ...

最新文章

  1. SQLAdvisor美团SQL索引优化建议工具
  2. MapReduce工作流理解
  3. SQL 盲注GET /POST、布尔型,延时型Python脚本
  4. nodec mysql_Node.js 连接 MySQL 并进行数据库操作 –node.js 开发指南
  5. 1024程序员节来啦!!.NET技术圈独家优惠劵,折后再折,赶紧来抢啊
  6. linux- root管理员权限
  7. 安卓开发---环境搭建(2022最新)
  8. C语言实现哈夫曼压缩与解压缩的实现以及读取哈夫曼编码 万文长书,绝对详细哦
  9. 什么品牌蓝牙耳机音质好?2020蓝牙耳机排行榜10强!
  10. 序列化(boost serialization)
  11. 杭州云栖大会“弹性计算用户实践专场”等你来
  12. oms系统应用服务器,OMS、WMS、TMS、ERP之间的关系
  13. 屏蔽CSDN广告插件 - Chrome
  14. HTML如何设置四边形,css实现三角形和平形四边形
  15. 对接企业支付宝的流程(电脑和手机)
  16. 构建根文件系统(一)
  17. Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表
  18. 水 hdu5208 2015-04-20 21:03 36人阅读 评论(0) 收藏
  19. libusb介绍及简单使用
  20. 华硕z170a如何开启m2_华硕Z170主板bios如何设置|华硕Z170主板设置bios的方法

热门文章

  1. 【算法】递归:递归优化之尾递归
  2. SX1278 LoRa通讯的频率设定
  3. 学人工智能必看!具体职业细分
  4. Eclipse Virgo插件
  5. 基于改进的K-means算法在共享交通行业客户细分中的应用
  6. Hololens 开发笔记(10)——World Anchor
  7. css字体 text,css文本样式text、字体样式font
  8. C语言必须从main函数开始执行吗?
  9. 纽约大学计算机硕士申请条件,美国纽约大学计算机科学硕士专业课程要求有哪些?申请要求有哪些?...
  10. 3D建模新手无法掌握角色建模技巧?机器猫模型制作流程,学会很轻松!