Advertisement
knakul853

Untitled

Jul 26th, 2020 (edited)
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. https://leetcode.com/problems/super-egg-drop/discuss/158974/C%2B%2BJavaPython-2D-and-1D-DP-O(KlogN)
  2.  
  3. int superEggDrop(int K, int N) {
  4.         vector<vector<int>> dp(N + 1, vector<int>(K + 1, 0));
  5.         int m = 0;
  6.         while (dp[m][K] < N) {
  7.             m++;
  8.             for (int k = 1; k <= K; ++k)
  9.                 dp[m][k] = dp[m - 1][k - 1] + dp[m - 1][k] + 1;
  10.         }
  11.         return m;
  12.     }
  13.  
  14. class Solution {
  15. public:
  16.    
  17.     int superEggDrop(int K, int N) {
  18.        
  19.        
  20.        vector<int>dp(K+1,0);
  21.         int moves;
  22.         for(moves = 0;dp[K]<N;moves++)
  23.         {
  24.             for(int k=K;k>0;k--)
  25.             {
  26.                 dp[k]+= dp[k-1]+1;
  27.             }
  28.         }
  29.         return moves;
  30.        
  31.        
  32.     }
  33. };
  34.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement