题目描述:
代码如下:
class Solution {
//dp[i]表示长度为i的绳子得到的最大乘积
public int cuttingRope(int n) {
//长度为n
int dp[] = new int[n+1];
// 长度最短都为1,初始化
Arrays.fill(dp, 1);
dp[2]=1;
for (int i = 3; i <n+1 ; i++) {
for(int j=2;j<i;j++){
dp[i]=Math.max(dp[i],Math.max(j*(i-j),j*dp[i-j]));
}
}
return dp[n];
}
}