class Solution { public: /** * @param m: the number of eggs * @param n: the number of floors * @return: the number of drops in the worst case */ int dropEggs2(int m, int n) { // write your code here int dp[m+1][n+1]; for (int i = 0; i < m+1; i++) { for (int j = 0; j < n+1; j++) dp[i][j] = INT_MAX; } for (int i = 0; i < n+1; i++) { dp[1][i] = i; dp[0][i] = 0; } for (int i = 0; i < m+1; i++) { dp[i][0] = 0; dp[i][1] = 1; dp[i][2] = 2; } for (int i = 2; i < m+1; i++) { for (int j = 2; j < n+1; j++) { for (int k = 2; k < n; k++) { dp[i][j] = min(dp[i][j], 1+max(dp[i][j-k], dp[i-1][k-1])); } } } return dp[m][n]; } };
-------------end of file
thanks for reading-------------