分割整数的最大乘积
题目描述:
给一个整数,将整数进行分割,分割后的数字和是该整数,要求求出分割后的最大乘积。
思路分析:
动态规划思想,用dp[ i ]表示整数i分割的最大乘积。
代码:
public int integerBreak(int n){
int []dp=new int [n+1];
dp[1]=1;
for(int i=2;i<=n;i++){
for(int j=1;j<=i-1;j++){
dp[i]=Math.max(dp[i],Math.max(j*dp[i-j],j*(i-j)));
}
}
return dp[n];
}