Python 鸡蛋掉落问题,有K层和大量鸡蛋

Python 鸡蛋掉落问题,有K层和大量鸡蛋,python,algorithm,Python,Algorithm,我目前正在做一个关于算法的练习,这个鸡蛋问题让我很困惑: “你有一栋N层楼的建筑和大量的鸡蛋。假设一个鸡蛋从F层或更高的楼层扔下时被打碎了,否则就不会受伤。” 一个简单的解决方案是使用二进制搜索,这将导致抛出最多logN 但是,“找到一种新策略,将抛出次数减少到最多2个log F。” 我看到一些以前的帖子说,我们从1,2,…2^I开始,直到我们发现鸡蛋破裂,我们在(2^I-1,2^I)的较小范围内进行二进制搜索。我很困惑,我们从哪里得到那两个,还有LogN? 提前感谢。新策略的复杂性为logf+

我目前正在做一个关于算法的练习,这个鸡蛋问题让我很困惑: “你有一栋N层楼的建筑和大量的鸡蛋。假设一个鸡蛋从F层或更高的楼层扔下时被打碎了,否则就不会受伤。” 一个简单的解决方案是使用二进制搜索,这将导致抛出最多logN 但是,“找到一种新策略,将抛出次数减少到最多2个log F。” 我看到一些以前的帖子说,我们从1,2,…2^I开始,直到我们发现鸡蛋破裂,我们在(2^I-1,2^I)的较小范围内进行二进制搜索。我很困惑,我们从哪里得到那两个,还有LogN?
提前感谢。

新策略的复杂性为logf+logf,结果为2*logf。第一个logf用于确定F所在的范围,这是二进制搜索的一个变体。第二个日志F使用二进制搜索在该特定范围内查找精确的F。

也许这会有所帮助?谢谢!这是对这个问题的一个非常清楚的解释。:-)