Snippets Collections
class Solution{
  public:
    int solve(int price[], int n , vector<int>& dp, int idx){
        if( idx >= n)   return 0;
        if(dp[idx] != -1) return dp[idx];
        int ans = 0;
        for(int i = 1; i <= n - idx; i++){
            ans = max(ans, price[i - 1] + solve(price, n , dp, idx + i));
        }
        return dp[idx] = ans;
    }
    int cutRod(int price[], int n) {
        //code here
        vector<int> dp;
        dp.resize(n, -1);
        return solve( price,n, dp, 0);
    }
};
star

Mon Jun 12 2023 13:23:08 GMT+0000 (Coordinated Universal Time) https://practice.geeksforgeeks.org/problems/rod-cutting0840/1

#rodcutting #dynamic_programming

Save snippets that work with our extensions

Available in the Chrome Web Store Get Firefox Add-on Get VS Code extension