提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
确定dq数组及其下标的含义
确定递推公式
dq数组初始化
确定遍历顺序
举例推导dq数组
一、力扣343. 整数拆分
class Solution {
public int integerBreak(int n) {
int[] dq = new int[n+1];
dq[2] = 1;
for(int i = 3; i <= n; i ++){
for(int j = 1; j <= i-j; j ++){
dq[i] = Math.max(dq[i], Math.max(j * (i-j), j * dq[i-j]));
}
}
return dq[n];
}
}
二、力扣96. 不同的二叉搜索树
class Solution {
public int numTrees(int n) {
int[] dq = new int[n+1];
dq[0] = 1;
for(int i = 1; i <= n; i ++){
for(int j = 1; j <= i; j ++){
dq[i] += dq[j-1] * dq[i-j];
}
}
return dq[n];
}
}