百度2面智力题(破碎临界层)

百度二面智力题(破碎临界层)

 

题1 有一栋100层高的大楼,给你两个完全相同的玻璃球。假设从某一层开始,丢下玻璃球会摔碎。那么怎么利用手中的两个球,用什么最优策略知道这个临界的层是第几层???


顺序查找:从1层往100层试




题2 有一栋100层高的大楼,给你两个完全相同的玻璃球。假设从某一层开始,丢下玻璃球会摔碎。那么怎么利用手中的两个球,用什么最优策略知道这个临界的层是第几层???


二分查找:从50层试一次,若50层破,则从1层顺序查找;若50层未破,则在75层试一次。类推。

分块查找:将100层,以10层为一块分成10块。第一个玻璃球用来从第一块开始顺序查找到块,第二个玻璃球用来从块内第一个开始顺序查找。

二级分块查找:将100层,以10层为一块分成10块,另外,将10层以2层为一块再分成5块,再利用上述分块查找的方法找出临界层。二级分块以2层为一块的目的是,顺序查到某块时,若此块第一层破了,而上一块第一层未破,则说明上一块第二层是临界层。