示例代码
class Solution {
public:
int integerBreak(int n) {
vector<int> dp(n+1,INT_MIN);
dp[1]=1;
for(int i=2;i<=n;i++){
for(int j=1;j<i;j++){
//其中细分为能拆分和不能拆分(有的拆分完数值更小了)
dp[i]=max(dp[i],max(dp[i-j]*j,(i-j)*j));
}
}
return dp[n];
}
};
效果展示