LeetCode 343 整数拆分

const int N = 60;
class Solution {
public:
    int dp[N];
    int integerBreak(int n) {
        dp[2] = 1;

        for (int i = 3; i <= n; i ++)
            for (int j = 1; j < i; j ++)
                dp[i] = max(dp[i], max((i - j) * j, dp[i - j] * j)); //(i - j) * j分为两份, dp[i - j] * j分为多份
        return dp[n];
    }
};
posted @ 2022-09-23 10:05  hjy94wo  阅读(19)  评论(0)    收藏  举报