leetcode343-整数拆分

在这里插入图片描述

class Solution {
public:
    int max3(int a,int b,int c){
        return max(a,max(b,c));
    }
    
    int integerBreak(int n) {
    vector<int>memo( n+1 , -1);
    memo[1] = 1;
    for (int i = 2; i <= n; i++) 
    //求解memo[i]
        for (int j = 1; j < i; j++) 
        //分解成j+(i-j)
            memo[i] = max3(memo[i], j * (i - j), j * memo[i - j]);
        
    return memo[n];
    }
};

猜你喜欢

转载自blog.csdn.net/Caiyii530/article/details/106532963