问题
原题链接:剪绳子
JAVA实现
class Solution {
public int maxProductAfterCutting(int length)
{
// dp[i]表示长度为i时,所具备的最大乘积
int[] dp = new int[length+1];
for(int i = 2;i<=length;i++) {
// 假设第一刀剪在j的位置上
for(int j =1;j<=i-1;j++) {
dp[i] = Math.max(dp[i],Math.max(j*(i-j), j*dp[i-j]));
}
}
return dp[length];
}
}