今天很开心找到了一个很不错的研发面试题,很考验临时反应能力,特地拿出来和大家分享一下此题以及自己做该题的心得体会!!!

题目:

总共有12个外表都一样的金属球,其中有11个球的重量是相同的,1个球的重量可能比其他11个球要重,也可能比较其他11个球轻,这个球称之为异常球,问:如何利用一个天平来称重三次找出这个异常球?

下面来讲解我的思路,希望大家拿出笔和纸。

首先我们将12个球分为三份,将球依次排好序号为1-12,如下:

A组选手:1,2,3,4         B组选手:5,6,7,8         C组选手:9,10,11,12

任意拿出两组放在天平两边,下面我们就以拿出A,B比较。

【1】如果A == B,因为只有1个异常球,而A == B,则说明C组(9,10,11,12)异常球:

  紧接着从C组(异常组中)取出3个球,从正常组A或者B组中也取出3个球来进行比较,例如我们取出B组6,7,8【左边】    vs  C组9,10,11 【右边】

  如果天平平衡,则C组剩下的球就为异常球,这样就比较2次;

  如果天平不平衡,那就知道了异常球是重还是轻,

    那就从右边的三个球中再任取两个,放入天平中:

      如果天平平衡,剩下的球即为异常球;这样就比较2次

      如果不平衡,则可根据上面已经得出的结论:异常球是重还是轻的结论判断哪一个是异常球,这样比较3次

【2】如果A != B,因为只有1个异常球,则说明C组为标准球,异常球在A组或者B组中

  此时要分两种情况来分析:

  (1)左侧重右侧轻即1,2,3,4 > 5,6,7,8;(2)左侧轻右侧重即1,2,3,4 < 5,6,7,8

========》

  (1)左侧重右侧轻即1,2,3,4 > 5,6,7,8 【异常球可能是1,2,3,4重,或者5,6,7,8轻】

      然后我们比较,,9,10,11 ------>(9,10,11是正常球标准球)

  如果平衡,就可以说明,, 是标准球,结合上一个比较结果,可以得出的是异常球为2,3,4且为重球,这样从2,3,4里面找两个球比对一下即可,这样就比较3次;

  如果不平衡:

      左侧重:则1为异常重球,这样就比较2次

      左侧轻:异常球是6,7,8且为轻球,从三个球中选出两个再次称一次选择轻的即可,这样就比较3次

(2)左侧轻右侧重即1,2,3,4 < 5,6,7,8 解法同上面差不多,这个留给大家思考(思路一样,比较简单)

上面就是关于这个题目,我的思路和解法,欢迎大家指正!!!写完正好凌晨一点钟,晚上喽!

Google研发面试题的更多相关文章

  1. google的面试题(三维动态规划的范例)——(87)Scramble String

    转:http://www.cnblogs.com/easonliu/p/3696135.html 分析:这个问题是google的面试题.由于一个字符串有很多种二叉表示法,貌似很难判断两个字符串是否可以 ...

  2. 备战金九银十,Java研发面试题(Spring、MySQL、JVM、Mybatis、Redis、Tomcat)[带答案],刷起来!

    八月在即,马上就是"金九银十",又是跳槽招聘季.咱们这行公认涨薪不如跳槽加的快.但不建议频繁跳槽,还是要学会融合团队,抓住每个机会提升技能. 苏先生在这里给大家整理了一套各大互联网 ...

  3. 一道google的面试题(据说)

    1. 原题(同事给的) Max Howell 参加了谷歌的面试,出题人竟然要求 Max Howell 在白板上作出解答,Max Howell 当然愤怒地拒绝了,回家以后马上在微博上跟我们分享他的吐槽: ...

  4. Linux后台研发面试题

    本系列给出了在复习过程中一些C++后台相关面试题,回答内容按照笔者的知识点掌握,故有些问题回答较为简略 1.信号的生命周期 一个完整的信号生命周期可以用四个事件刻画:1)信号诞生:2)信号在进程中注册 ...

  5. 蘑菇街2015校招 Java研发笔试题 详解

    1. 对进程和线程描述正确的是( ) A.  父进程里的所有线程共享相同的地址空间,父进程的所有子进程共享相同的地址空间. B.  改变进程里面主线程的状态会影响其他线程的行为,改变父进程的状态不会影 ...

  6. Google 2013笔试题一

    2.1 给定三个整数a,b,c,实现 int median(int a, int b, int c),返回三个数的中位数,不可使用sort,要求整数操作(比较,位运算,加减乘除等)次数尽量少,并分析说 ...

  7. 笔试真题解析 ALBB-2015 系统project师研发笔试题

    4)在小端序的机器中,假设 union X {     int x;     char y[4]; }; 假设 X a; a.x=0x11223344;//16进制 则:() y[0]=11 y[1] ...

  8. JAVA研发面试题

    转自:http://www.jianshu.com/p/1f1d3193d9e3 Java基础的知识点推荐<Java编程思想>,JVM的推荐<深入理解Java虚拟机>,Spri ...

  9. Google 面试题和详解

    Google的面试题在刁钻古怪方面相当出名,甚至已经有些被神化的味道.这个话题已经探讨过很多次,而科技博客 BusinessInsider这两天先是贴出15道Google面试题并一一给出了答案,其中不 ...

随机推荐

  1. JavaScript中的this到底是怎样的?

    this是困惑JavaScript开发者的一大‘毒瘤’,在开发过程中,但凡用到this的时候,我们都会很头疼,那么这个this在JavaScript中到底是怎么样的?身为一个前端coder,这是一个避 ...

  2. 第五场周赛(字符串卡常个人Rank赛)——题解

    本次题目因为比较简单,除了个别题目,其余题目我只写一个思路不再贴代码. 先是Div.2的题解 A题奇怪的优化,把递归函数改成2*fun(...)即可,其实看懂程序也不难,就是求a*2b: B题你会st ...

  3. Java 内存溢出分析

    原文地址:Java 内存溢出分析 博客地址:http://www.moonxy.com 一.前言 Java 的 JVM 的内存一般可分为 3 个区:堆(heap).栈(stack)和方法区(metho ...

  4. 搭建Android+QT+OpenCV环境,实现“单色图片着色”效果

               OpenCV是我们大家非常熟悉的图像处理开源类库:在其新版本将原本在Contrib分库中的DNN模块融合到了主库中,并且更新了相应文档.这样我们就能够非常方便地利用OpenCV实 ...

  5. Docker下实战zabbix三部曲之二:监控其他机器

    在上一章<Docker下实战zabbix三部曲之一:极速体验>中,我们快速安装了zabbix server,并登录管理页面查看了zabbix server所在机器的监控信息,但是在实际场景 ...

  6. 抓住那只牛!Catch That Cow POJ-3278 BFS

    题目链接:Catch That Cow 题目大意 FJ丢了一头牛,FJ在数轴上位置为n的点,牛在数轴上位置为k的点.FJ一分钟能进行以下三种操作:前进一个单位,后退一个单位,或者传送到坐标为当前位置两 ...

  7. jquery的api以及用法总结-选择器

    jQuery API及用法总结 选择器 基本选择器 * 通用选择器 .class 类选择器,一个元素可以有多个类(chrome使用原生js函数getElementByClassName()实现) 利用 ...

  8. Scrapy入门操作

    一.安装Scrapy: 如果您还未安装,请参考https://www.cnblogs.com/dalyday/p/9277212.html 二.Scrapy基本配置 1.创建Scrapy程序 cd D ...

  9. 从一道面试题深入了解java虚拟机内存结构

    记得刚大学毕业时,为了应付面试,疯狂的在网上刷JAVA的面试题,很多都靠死记硬背.其中有道面试题,给我的印象非常之深刻,有个大厂的面试官,顺着这道题目,一直往下问,问到java虚拟机的知识,最后把我给 ...

  10. 『TensorFlow2.0正式版教程』极简安装TF2.0正式版(CPU&GPU)教程

    0 前言 TensorFlow 2.0,今天凌晨,正式放出了2.0版本. 不少网友表示,TensorFlow 2.0比PyTorch更好用,已经准备全面转向这个新升级的深度学习框架了. ​ 本篇文章就 ...