雞蛋掉落問題

2021-10-23 06:23:05 字數 809 閱讀 7146

leetcode 887.雞蛋掉落

#include

#include

using namespace std;

intsupereggdropbs

(int k,

int n)

*/// 這一段改用二分查詢,而不從1列舉到i

int start =

1, end = i, mid;

int res = int_max;

// 可能存在找不到的情況,因為兩者的交點一定存在,但是橫座標不一定是乙個整數,因此這裡的res記錄必不可少

// 在沒有整數交點的情況下,res會記錄到交點兩側的的橫座標對應的較小值

// 存在整數交點的情況下,res自然就記錄到了整數交點處的最小值

t1 = dp[mid-1][k-1] 單調遞增 t2 = dp[i-mid][k] 單調遞減

我們只要找到最接近交點的t1(x0),t1(x1),t2(x0),t2(x1)四個中最大值。

關於雞蛋掉落問題

運用動態規劃原理,相當於打 public intsupereggdrop int k,int n 當樓層為0時,f為0 for int i 0 i1 i dp 0 i 0 當雞蛋個數為0時,f 0 for int i 0 i1 i dp i 0 0 當乙個雞蛋的時候,f為給的樓層數 for int ...

Daily Practice 雞蛋掉落問題

示例 1 輸入 k 1,n 2 輸出 2解釋 雞蛋從 1 樓掉落。如果它碎了,我們肯定知道 f 0 否則,雞蛋從 2 樓掉落。如果它碎了,我們肯定知道 f 1 如果它沒碎,那麼我們肯定知道 f 2 因此,在最壞的情況下我們需要移動 2 次以確定 f 是多少。示例 2 輸入 k 2,n 6輸出 3示例...

雞蛋掉落問題 動態規劃

leetcode第887題雞蛋掉落 題目描述 思路1 這個題的問題是 如何在最小的移動次數內確定雞蛋可以掉碎的最低樓層?很明顯這是乙個最優化問題,也就是求f k,n 的最小值。既然時求最優解,我們就可以考慮使用動態規劃的方法來解。將情況分為以下幾種 1 樓層數為0或者雞蛋數為0,那最少的移動次數就是...