请选择 进入手机版 | 继续访问电脑版

马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

Google研发面试题

[复制链接]
查看2041 | 回复0 | 2019-10-24 09:47:44 | 显示全部楼层 |阅读模式

本日很开心找到了一个很不错的研发口试题,很检验临时反应能力,专程拿出来和各人分享一下此题以及本身做该题的心得体会!!!

题目:

统共有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轻】

      然后我们比较1,6,7,8 和5,9,10,11 ------>(9,10,11是正常球标准球)

  假如平衡,就可以阐明,1,6,7,8和5 是标准球,团结上一个比较结果,可以得出的是异常球为2,3,4且为重球,如许从2,3,4内里找两个球比对一下即可,如许就比较3次;

  假如不平衡:

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

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

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

上面就是关于这个题目,我的思绪息争法,欢迎各人指正!!!写完正好凌晨一点钟,晚上喽!







来源:https://www.cnblogs.com/guohai-stronger/p/11729822.html
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则