每日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);
以上是关于每日5题鸡蛋掉落的主要内容,如果未能解决你的问题,请参考以下文章