leetcode 887 雞蛋掉落(動態規劃)

2021-09-18 06:50:49 字數 790 閱讀 2313

你將獲得 k 個雞蛋,並可以使用一棟從 1 到 n 共有 n 層樓的建築。

每個蛋的功能都是一樣的,如果乙個蛋碎了,你就不能再把它掉下去。

你知道存在樓層 f ,滿足 0 <= f <= n 任何從高於 f 的樓層落下的雞蛋都會碎,從 f 樓層或比它低的樓層落下的雞蛋都不會破。

你的目標是確切地知道 f 的值是多少。

無論 f 的初始值如何,你確定 f 的值的最小移動次數是多少?

示例 1:

輸入:k = 1, n = 2

輸出:2

解釋:雞蛋從 1 樓掉落。如果它碎了,我們肯定知道 f = 0 。

否則,雞蛋從 2 樓掉落。如果它碎了,我們肯定知道 f = 1 。

如果它沒碎,那麼我們肯定知道 f = 2 。

因此,在最壞的情況下我們需要移動 2 次以確定 f 是多少。

示例 2:

輸入:k = 2, n = 6

輸出:3

示例 3:

輸入:k = 3, n = 14

輸出:4

1 <= k <= 100

1 <= n <= 10000

引用 可以換乙個思路來想:「求k個雞蛋在m步內可以測出多少層」。我們令dp[k][m]表示k個雞蛋在m步內可以測出的最多的層數,那麼當我們在第x層扔雞蛋的時候,就有兩種情況:

class

solution

}return n;}}

;

LeetCode 887 雞蛋掉落

你將獲得 k 個雞蛋,並可以使用一棟從 1 到 n 共有 n 層樓的建築。每個蛋的功能都是一樣的,如果乙個蛋碎了,你就不能再把它掉下去。你知道存在樓層 f 滿足 0 f n 任何從高於 f 的樓層落下的雞蛋都會碎,從 f 樓層或比它低的樓層落下的雞蛋都不會破。你的目標是確切地知道 f 的值是多少。無...

leetcode887 雞蛋掉落

你將獲得 k 個雞蛋,並可以使用一棟從 1 到 n 共有 n 層樓的建築。每個蛋的功能都是一樣的,如果乙個蛋碎了,你就不能再把它掉下去。你知道存在樓層 f 滿足 0 f n 任何從高於 f 的樓層落下的雞蛋都會碎,從 f 樓層或比它低的樓層落下的雞蛋都不會破。你的目標是確切地知道 f 的值是多少。無...

Leetcode 887 雞蛋掉落

你將獲得 k 個雞蛋,並可以使用一棟從 1 到 n 共有 n 層樓的建築。每個蛋的功能都是一樣的,如果乙個蛋碎了,你就不能再把它掉下去。你知道存在樓層 f 滿足 0 f n 任何從高於 f 的樓層落下的雞蛋都會碎,從 f 樓層或比它低的樓層落下的雞蛋都不會破。你的目標是確切地知道 f 的值是多少。無...