力扣---2020.7.30

carroll18發表於2020-10-18

343. 整數拆分

class Solution {
    public int integerBreak(int n) {
        if(n==1 || n==2){
            return 1;
        }
        if(n==3){
            return 2;
        }
        int sum = 1;
        while(n>4){
            sum *=3;
            n -= 3;
        }
        return sum*n;
    }
}
class Solution {
    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;j++){
                dp[i] = Math.max(dp[i],Math.max(dp[j],j)*(i-j));
            }
        }
        return dp[n];
    }
}

你知道的越多,你不知道的越多。

相關文章