Rod Cutting
Same as Unbounded Knapsack
Problem Link: https://practice.geeksforgeeks.org/problems/rod-cutting0840/1
class Solution:
def cutRod(self, price, n):
#code here
length=[]
for i in range(1,n+1):
length.append(i)
dp=[[0 for i in range(n+1)] for j in range(n+1)]
for i in range(n+1):
for j in range(n+1):
if(i==0 or j==0):
dp[i][j]=0
else:
if(length[i-1]<=j):
cut=price[i-1]+dp[i][j-length[i-1]]
nocut=dp[i-1][j]
dp[i][j]=max(cut,nocut)
else:
dp[i][j]=dp[i-1][j]
return dp[n][n]
Last updated