砍竹子 I

现需要将一根长为正整数 n 的竹子砍为若干段,每段长度均为正整数。请返回每段竹子长度的最大乘积是多少。

  • 输入: n = 12
    输出: 81
1
2
3
4
5
6
7
8
9
var cuttingBamboo = function(n) {
const dp = new Array(n + 1).fill(1);
for(let i = 2; i < n + 1; i++){
for(let j = 1; j < i; j++){
dp[i] = Math.max(Math.max((i - j) * j, j * dp[i - j]), dp[i]);
}
}
return dp[n];
};