OJ链接 :leetcode 343.整数拆分
代码:
class Solution {
public int integerBreak(int n) {
int[] dp = new int[n+1];
//每个n,拆分多个整数乘积的最大值
dp [0] = 0;
dp [1] = 1;
for(int i =2 ; i<=n; i++){
for(int j = 0 ; j < i; j++){
dp[i] = Math.max(dp[i],Math.max( j*(i-j),j*dp[i-j]));
//后边MAX ,两种情况 1.j*(i-j),当前j乘以剩下的i-j整数,只有两个数;
//2.j*dp[i-j] , 当前j乘以 多个拆分整数的最大值
//前边MAX,当前j位置 ,dp[i]的最大值,多个j比较。
}
}
return dp[n];
}
}