整数拆分 (Integer Break)

 

思路:

// @Title: 整数拆分 (Integer Break)
// @Author: qisiii
// @Date: 2024-09-23 00:03:27
// @Runtime: 2 ms
// @Memory: 39.3 MB
// @comment: 
// @flag: 
class Solution {
    public int integerBreak(int n) {
        int[] dp=new int[n+1];
        dp[2]=1;
        for(int i=3;i<=n;i++){
            for(int j=1;j<i-1;j++){
                //Max(j*(i-j),dp[j]*(i-j),dp[j]*dp[i])
                dp[i]=Math.max(dp[i],Math.max(j*(i-j),Math.max(dp[j]*(i-j),dp[j]*dp[i-j])));
            }
        }
        return dp[n];
    }
}
Licensed under CC BY-NC-SA 4.0
最后更新于 2024-10-18