动态规划题目需要找到两点:
- 动态方程:动态方程抽离问题的共同解决方程
- 边界情况:相当于对于上述动态方程的特殊情况的枚举
/**
* @param {number} m
* @param {number} n
* @return {number}
*/
var uniquePaths = function(m, n) {
let arr = new Array(m).fill(0).map(() => new Array(n).fill(0))
// 边界情况
for (let i = 0; i<m; i++) arr[i][0] = 1
for (let i = 0; i<n; i++) arr[0][i] = 1
// 动态方程
for (let i = 1; i<m; i++) {
for (let j = 1; j<n; j++) {
arr[i][j] = arr[i-1][j] + arr[i][j-1]
}
}
return arr[m-1][n-1]
};