Google研发面试题
今天很开心找到了一个很不错的研发面试题,很考验临时反应能力,特地拿出来和大家分享一下此题以及自己做该题的心得体会!!!
题目:
总共有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研发面试题的更多相关文章
- google的面试题(三维动态规划的范例)——(87)Scramble String
转:http://www.cnblogs.com/easonliu/p/3696135.html 分析:这个问题是google的面试题.由于一个字符串有很多种二叉表示法,貌似很难判断两个字符串是否可以 ...
- 备战金九银十,Java研发面试题(Spring、MySQL、JVM、Mybatis、Redis、Tomcat)[带答案],刷起来!
八月在即,马上就是"金九银十",又是跳槽招聘季.咱们这行公认涨薪不如跳槽加的快.但不建议频繁跳槽,还是要学会融合团队,抓住每个机会提升技能. 苏先生在这里给大家整理了一套各大互联网 ...
- 一道google的面试题(据说)
1. 原题(同事给的) Max Howell 参加了谷歌的面试,出题人竟然要求 Max Howell 在白板上作出解答,Max Howell 当然愤怒地拒绝了,回家以后马上在微博上跟我们分享他的吐槽: ...
- Linux后台研发面试题
本系列给出了在复习过程中一些C++后台相关面试题,回答内容按照笔者的知识点掌握,故有些问题回答较为简略 1.信号的生命周期 一个完整的信号生命周期可以用四个事件刻画:1)信号诞生:2)信号在进程中注册 ...
- 蘑菇街2015校招 Java研发笔试题 详解
1. 对进程和线程描述正确的是( ) A. 父进程里的所有线程共享相同的地址空间,父进程的所有子进程共享相同的地址空间. B. 改变进程里面主线程的状态会影响其他线程的行为,改变父进程的状态不会影 ...
- Google 2013笔试题一
2.1 给定三个整数a,b,c,实现 int median(int a, int b, int c),返回三个数的中位数,不可使用sort,要求整数操作(比较,位运算,加减乘除等)次数尽量少,并分析说 ...
- 笔试真题解析 ALBB-2015 系统project师研发笔试题
4)在小端序的机器中,假设 union X { int x; char y[4]; }; 假设 X a; a.x=0x11223344;//16进制 则:() y[0]=11 y[1] ...
- JAVA研发面试题
转自:http://www.jianshu.com/p/1f1d3193d9e3 Java基础的知识点推荐<Java编程思想>,JVM的推荐<深入理解Java虚拟机>,Spri ...
- Google 面试题和详解
Google的面试题在刁钻古怪方面相当出名,甚至已经有些被神化的味道.这个话题已经探讨过很多次,而科技博客 BusinessInsider这两天先是贴出15道Google面试题并一一给出了答案,其中不 ...
随机推荐
- 喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了
折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了, ...
- response中文乱码问题
1.要确定I代码的编码格式为UTF-8 2.乱码原因:浏览器和服务器的编码格式不同: 服务器的默认编码为:ISO-8859-1,如果浏览器的编码不是ISO-8859-1,就会出现乱码: public ...
- elasticsearch document的索引过程分析
elasticsearch专栏:https://www.cnblogs.com/hello-shf/category/1550315.html 一.预备知识 1.1.索引不可变 看到这篇文章相信大家都 ...
- Python turtle库绘制简单图形
一.简介 Python中的turtle库是一个直观有趣的图形绘制函数库.turtle库绘制图形有一个基本框架:一个小海龟在坐标系中爬行,其爬行轨迹形成了绘制图形. 二.简单的图形列举 1.绘制4个不同 ...
- python常用数据结构讲解
一:序列 在数学上,序列是被排成一排的对象,而在python中,序列是最基本的数据结构.它的主要特征为拥有索引,每个索引的元素是可迭代对象.都可以进行索引,切片,加,乘,检查成员等操作.在py ...
- 【linux】【tomcat】tomcat8.5安装
系统环境:Centos7 1.下载tomcat8.5 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.45/b ...
- elasticsearch倒排索引与TF-IDF算法
elasticsearch专栏:https://www.cnblogs.com/hello-shf/category/1550315.html 一.倒排索引(Inverted Index)简介 在关系 ...
- 如何在女友卸妆后,正确的找到她?---java中使用反射的小秘密
故事背景 小白是个程序猿,刚毕业两年,最近交了一个女朋友,是同事介绍的.女朋友和闺蜜住在一起.小白早上很早接到女朋友电话,昨天她的一个文件错放到了他的电脑包,希望他帮忙送到她住的地方,她今天要向她bo ...
- 在 ASP.NET Core 项目中使用 AutoMapper 进行实体映射
一.前言 在实际项目开发过程中,我们使用到的各种 ORM 组件都可以很便捷的将我们获取到的数据绑定到对应的 List<T> 集合中,因为我们最终想要在页面上展示的数据与数据库实体类之间可能 ...
- VR中的Redirection
在虚拟现实(Virtual Reality,VR)中,很重要的一点就是用户的在虚拟环境中的漫游(navigation).除了固定视点的VR电影,一般的VR应用,特别是游戏或者其他交互式的应用,都会依赖 ...