每日5题鸡蛋掉落

Posted Alice_yufeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日5题鸡蛋掉落相关的知识,希望对你有一定的参考价值。

class Solution 
    public int superEggDrop(int k, int n) 
       int remainTestCount = 1;//穷举移动次数(测试的次数)
       while (getConfirmFloors(remainTestCount, k) < n)
            ++remainTestCount;
       
       return remainTestCount;
  
//在remainTestCount个测试机会(扔鸡蛋的机会 或者移动的次数),eggsCount个鸡蛋可以确定的楼层数量
    int getConfirmFloors(int remainTestCount, int eggsCount)
        if (remainTestCount == 1 || eggsCount == 1)
       //如果remainTestCount == 1你只能移动一次,则你只能确定第一楼是否,也就是说鸡蛋只能放在第一楼,如果碎了,则F == 0,如果鸡蛋没碎,则F == 1
       //如果eggsCount == 1鸡蛋数为1,它碎了你就没有鸡蛋了,为了保险,你只能从第一楼开始逐渐往上测试,如果第一楼碎了(同上),第一楼没碎继续测第i楼,蛋式你不可能无限制的测试,因为你只能测试remainTestCount次
            return remainTestCount;
       
       return getConfirmFloors(remainTestCount - 1, eggsCount - 1) + 1 + getConfirmFloors(remainTestCount - 1, eggsCount);
   

参考https://blog.csdn.net/haut_ykc/article/details/105447682

以上是关于每日5题鸡蛋掉落的主要内容,如果未能解决你的问题,请参考以下文章

[leetcode] 鸡蛋掉落 Google面试题 dp

鸡蛋掉落问题解析

鸡蛋掉落

python每日经典算法题5(基础题)+1(中难题)

LeetCode(力扣)5月「每日 1 题」

每日5题分割回文串