基础
刷题
- 不同路径
动规五部曲:
- 确定dp数组含义: dp[i][j]是 当机器人到第i行第j列,有多少种路径可以到终点
- 确定递推公式: dp[i][j] = dp[i-1][j] + dp[i][j-1]
- 确定dp初始化:dp[m][n]=1,dp[i][n-1]=1, dp[m-1][j]=1
- 确定遍历顺序:从下到上,从右到左
- 打印dp数组
- 不同路径II
- 整数拆分
动规五部曲:
- 确定dp数组的含义: dp[i]是 整数i拆分的最大乘积
- 确定递推公式: j从1遍历到i/2 dp[i] = max(j*(i-j), j*dp[i-j], dp[i])
- 确定dp初始化:dp[0]=0 dp[1]=0 dp[2]=1
- 确定遍历顺序:从1到n
- 打印dp数组
- 不同的二叉搜索树
动规五部曲:
- 确定dp数组的含义:dp[i] 是 i个节点组成的二叉搜索树的数量
- 确定递推公式:j遍历从1到i, dp[i] += dp[j-1] * dp[i-j]
- 确定dp数组的初始化:dp[0]=1 dp[1]=1
- 确定遍历顺序:从前到后
- 打印dp数组