【寻找临界楼层】面试难题

本文探讨了一道面试难题,即在100层大厦中使用两个鸡蛋找出临界楼层。传统的二分法在此问题上不适用,因为鸡蛋数量有限。文章介绍了解决此问题的动态规划策略,解释了动态规划方程F(n, k)的含义,并讨论了如何根据最坏情况选择起始楼层以达到最少尝试次数。通过这种方式,可以找到确定临界层的最优解。" 125534085,13610647,COMSOL初学者指南:多物理场仿真的魅力与挑战,"['仿真模拟', '科学计算', '软件应用', '物理建模', '数值分析']
摘要由CSDN通过智能技术生成
问题1 : 题目:一种石头,在某一高度扔下就会碎,在这个高度以下不会碎,高度以上一定碎。现在有4个石头,1000层的楼房,需要测定这个石头破碎的高度。求最少多少次一定可以测出来。


问题2 :

题目:一个100层的大厦,你手中有两个相同的鸡蛋(玻璃球或围棋)。从这个大厦的某一层扔下鸡蛋((玻璃球或围棋))就会碎,用你手中的这两个鸡蛋(玻璃球或围棋),找出一个最优的策略,来得知那个临界层面。


这种问题  一般让人想到用二分的解法,但是二分法的最大深度为logn,那么石头有限如何选择合适的抛石头层数则是很重要的。

网上目前主流解法就是动态规划,因此我好好学习学习相关知识。我看了解法 觉得 动态规划解决 这种问题 最优解  就是处理  哪里扔可以保证扔的次数最少。

楼层 有n个,球有K 个

F(n,k) = min{max{f(r,k-1),f(r+1,k)}+1, 1=<r<=n}

这个的意思 就是F(n,k)的含义  n层楼 k个球最少次数确定临界层

其实 r就是用来表示 我从哪一层开始探测,当然需要考虑 从第一层到第n层中的某一个来开始处理。

情况 假设从第r层 开始扔

如果 球碎了 ,那么 一定在1 - r层

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值