GOOGLE面试经典题目——鸡蛋掉落/动态规划+二分查找

这是一个关于GOOGLE面试中经典的鸡蛋掉落问题。文章探讨了如何在有限的鸡蛋数量和楼层高度下,寻找鸡蛋破碎临界值的最小尝试次数。通过分析,指出单纯的二分法可能不是最优解,并提出了结合动态规划和二分查找的解决方案。动态规划公式为dp(K,N)=1+1<=X<=Nmin{max(dp(K,X−K),dp(K−1,X−1))},并指出通过调整二分查找策略可以优化时间复杂度。" 108357793,10053875,STK 11.6 安装指南与MATLAB混合编程实践,"['航天仿真', '系统工具包', 'MATLAB接口', '软件安装', '混合编程']
摘要由CSDN通过智能技术生成

【LEETCODE】887.鸡蛋掉落[2020/4/11]

题目

K=鸡蛋数量;

N=楼层高度;

X=从X层扔下;

F=鸡蛋破碎的临界值;

求知道F的min移动次数

思路

难点

  1. 不能直接用二分法——因为有鸡蛋的数量限制;

  2. 在特殊情况下,二分法也不一定是最好的方法。

    example:K=2, N=100 , F=49

    ​ => 从50层开始二分,如果鸡蛋碎了需要线性扫描1-49层, 不是最优解。

动态规划+二分查找

  1. 动态规划:

    • dp(K, N)

      • 鸡蛋没碎,dp(K, N-K);
      • 鸡蛋碎了, dp(K-1, N-1)。
    • d p ( K , N ) = 1 + min ⁡ 1 < = X < = N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值