zoukankan      html  css  js  c++  java
  • 获得球——采访拼图

    问题详情 

    有着12球。1无计重秤。其中,11球的重量是相同的。另1它是球。和球的其它重量是不一样的。了还是重了。

    请问怎样用天秤称3次。就找到坏球并确定是轻了还是重了。(没有砝码的天秤仅仅能比較出两边谁重谁轻或是重量相等。无法求得详细的重量差.


    解题思路

    一看到这样的要从多少个里面找一个的题目,首先想到的就是分治法。分而治之。

    首先,考虑二分法,分成两堆各自6个,可是发现没法确定哪边是坏球哪边是好球,由于没法确定坏球是轻了还是重了,因此二分法能够pass掉.


    接下来。考虑三分法,将原来的12个球分为三份,假定A(1,2,3,4), B(5,6,7,8),C(9,10,11,12)

    第一次,A 和 B 称,

    若相等,则A 和B都是好球。坏球在C中。

    第二次,任取A或B中三个球。比方A中 1,2,3 与 C中 9,10,11 称,若相等,则坏球就是12;若不相等。则坏球在9,10,11中,而此时,我们已经知道坏球究竟是轻还是重, 因此。称第三次就能够推断出9,10,11中哪个是坏球.

    若不相等,则C中都是好球,坏球在A和B中,如果(1,2,3,4) < (5,6,7,8) (反过来的情况同理)

                   第二次:称(1,2,5)和(3,4,6)。
                  相等:7和8有一个重,称第三次就可以。
                  不等:如果(1,2,5)<(3,4,6)(反过来类似)。说明1,2轻了,或者6重了。第三次称1,2就可以。


    面试官角度:
    一般问这个问题的公司就是想找平时喜欢研究智力题的人。或者他们公司的招聘名额非常少。这是一个十分经典的智力问题。一般来说非常难要求面试者在几分钟之内考虑周全。所以碰到这种问题,知道就是知道,不知道就是不知道。

    只是即便不知道。比較聪明的面试者还是可以大致说出一些思路。

    比方一開始分成3堆,这个思路答上就会加分。

    假设分成2堆6个和6个,你会发现基本是解不出来的。所以这个题目纯粹是考验你是否是一个聪明的面试者或者你是不是准备面试题的时候做过了(那也说明你态度非常端正)。





    参考资料:http://www.jiuzhang.com/problem/3/


  • 相关阅读:
    FreeMarker常用语法学习
    Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作-------sql方式
    Oracle Partition 分区详细总结
    oracle 当中,(+)是什么意思
    SQL中EXISTS的用法
    JS return false 与 return true
    Merge into语句用法及其效率问题
    几种设置表单元素中文本输入框不可编辑的方法
    Oracle存储过程基本语法
    UNIX网络编程——Socket粘包问题
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4887353.html
Copyright © 2011-2022 走看看