584.Drop Eggs II

There is a building of n floors. If an egg drops from the k th floor or above, it will break. If it's dropped from any floor below, it will not break.

You're given m eggs, Find k while minimize the number of drops for the worst case. Return the number of drops in the worst case.

Example
Given m = 2, n = 100 return 14
Given m = 2, n = 36 return 8

public class Solution {
/**
 * @param m the number of eggs
 * @param n the umber of floors
 * @return the number of drops in the worst case
 */
    int dropEggs2(int m, int n) {
    // Write your code here
    int[][] state = new int[n + 1][m + 1];
    for (int i = 1; i < m + 1; i++) {
        state[1][i] = 1;
    }
    for (int i = 1; i < n + 1; i++) {
        state[i][1] = i;
    }
    for (int i = 2; i < n + 1; i++) {//n ---> floor
        for (int j = 2; j < m + 1; j++) {//m ---> eggs
            int min = Integer.MAX_VALUE;
            for (int k = 1; k < i + 1; k++) {
               min = Math.min(Math.max(state[k - 1][j - 1], state[i - k][j]),min);
            }
            state[i][j] = min + 1;
        }
    }
    return state[n][m];
}
//f[t][p] = min(max(f[s - 1][p - 1]),f[t - s][p])|s=1...t) + 1
//總共t層,在s層扔p個蛋
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • **2014真題Directions:Read the following text. Choose the be...
  • 今天的關鍵詞:批評 只要是人,我們在聽到批評建議的時候都會不太舒服,俗話說忠言逆耳。就比如我的媽媽,她過去就很少贊...
    營養私教西西閱讀 132評論 0 0
  • App: Hammerspoon 按下 Hyper + ` 就可以把鼠標移動到下一個屏幕正中間, 這樣就不用長距離...
    sthtodo閱讀 15,876評論 5 17
  • 麻疹? 高熱,意識清楚。左眼瞼紅腫,脫皮,全身紅斑,凸起,大小相對均等,手足較少。全身散在紫斑。口部潰瘍,出血。 ...
    魚麗枝閱讀 232評論 0 0