Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- https://leetcode.com/problems/super-egg-drop/discuss/158974/C%2B%2BJavaPython-2D-and-1D-DP-O(KlogN)
- int superEggDrop(int K, int N) {
- vector<vector<int>> dp(N + 1, vector<int>(K + 1, 0));
- int m = 0;
- while (dp[m][K] < N) {
- m++;
- for (int k = 1; k <= K; ++k)
- dp[m][k] = dp[m - 1][k - 1] + dp[m - 1][k] + 1;
- }
- return m;
- }
- class Solution {
- public:
- int superEggDrop(int K, int N) {
- vector<int>dp(K+1,0);
- int moves;
- for(moves = 0;dp[K]<N;moves++)
- {
- for(int k=K;k>0;k--)
- {
- dp[k]+= dp[k-1]+1;
- }
- }
- return moves;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement