diff --git a/Dynamic Programming/rod_cutting.java b/Dynamic Programming/rod_cutting.java new file mode 100644 index 000000000000..3424afac7491 --- /dev/null +++ b/Dynamic Programming/rod_cutting.java @@ -0,0 +1,33 @@ +/* A Dynamic Programming solution for Rod cutting problem + Returns the best obtainable price for a rod of + length n and price[] as prices of different pieces */ + +public class RodCutting +{ + + private static int cutRod(int price[],int n) + { + int val[] = new int[n+1]; + val[0] = 0; + + for (int i = 1; i<=n; i++) + { + int max_val = Integer.MIN_VALUE; + for (int j = 0; j < i; j++) + max_val = Math.max(max_val,price[j] + val[i-j-1]); + + val[i] = max_val; + } + + return val[n]; + } + + //main function to test + public static void main(String args[]) + { + int arr[] = new int[] {2, 5, 13, 19, 20}; + int size = arr.length; + System.out.println("Maximum Obtainable Value is " + + cutRod(arr, size)); + } +}
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: