From 5ec25c167057a355f3073cfd52ca3f6d1ce2eef8 Mon Sep 17 00:00:00 2001 From: Libin Yang Date: Sat, 23 Feb 2019 21:12:08 +0800 Subject: [PATCH] docs(DP): update RodCutting.java --- Dynamic Programming/RodCutting.java | 53 ++++++++++++++--------------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/Dynamic Programming/RodCutting.java b/Dynamic Programming/RodCutting.java index cd2512059..5ee38e0ce 100644 --- a/Dynamic Programming/RodCutting.java +++ b/Dynamic Programming/RodCutting.java @@ -1,32 +1,31 @@ -/* 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 */ - +/** + * 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; - } + private static int cutRod(int[] price, int n) { + int val[] = new int[n + 1]; + val[0] = 0; - return val[n]; - } + 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]); - //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)); - } + 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)); + } }