LeetCode 343. 整数拆分 (DP)

整数拆分
用DP来解决非常明显的,主要就是虽然说是必须拆分成两个数字,但是在DP的过程中,可以不选择拆分。

class Solution {
public:
    int integerBreak(int n) {
        vector<int> dp(n+1);
        dp[1] = 1;
        for(int i=2;i<=n;i++){
            for(int j=1;j<i;j++){
                dp[i] = max(dp[i],max(dp[j],j)*max(dp[i-j],i-j));
            }
        }
        return dp[n];
    }
};

猜你喜欢

转载自blog.csdn.net/qq_44846324/article/details/107695893