*leetcode 343. 整数拆分 & 剑指offer 14
Posted Z-Pilgrim
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了*leetcode 343. 整数拆分 & 剑指offer 14相关的知识,希望对你有一定的参考价值。
https://leetcode.cn/problems/integer-break/
这题剑指offer的代码感觉定义dp方程不清晰 此处重新写 一下
dp[i]:至少剪成>=2段的最大乘积
那么状态转移方程就是
dp[i] = max(dp[i], 剪成2段, dp[j] * (i-j))
也就是 dp[i] = max( dp[i], max(j * (i-j), dp[j] * (i-j)) );
class Solution
public:
int integerBreak(int n)
if(n <= 1) return 0;
vector<int>dp(n+1, 0);
for (int i = 2; i <= n; i++)
for (int j = 1; j < i; j++)
dp[i] = max( dp[i], max(j * (i-j), dp[j] * (i-j)) );
return dp[n];
;
以上是关于*leetcode 343. 整数拆分 & 剑指offer 14的主要内容,如果未能解决你的问题,请参考以下文章