剑指 Offer 14- II. 剪绳子 II
题目
力扣
思路 动态规划
初始化dp数组,绳子长度从3-n遍历,结果依赖于前面更小长度绳子的结果。
代码
class Solution {
public:
int integerBreak(int n) {
vector
dp[1] = 1;
dp[2] = 1;
for(int i = 3; i <= n; i++){
int maxx = 0;
for(int j = 1; j < i; j++){
maxx = max(maxx, max(j, dp[j]) * (i - j));
}
dp[i] = maxx;
}
return dp[n];
}
};
思路 数学
每小段绳子长度为3能得到最大乘积,所以让n除以3,得到商和余数。余数分0、1、2三种情况讨
共有 0 条评论