1.题目:
2.解析:
还是要分析:状态表示,状态转移方程,初始化,填表顺序,返回值
代码:
/**
1.创建dp表
2.初始化
3.填表
4.返回值
时间复杂度:O(m*n)
空间复杂度:O(m*n)
*/
public int uniquePaths(int m, int n) {
int[][] dp = new int[m+1][n+1];
dp[0][1] = 1;//关键为1,保证在加了虚拟节点是填表正确
for(int i = 1; i <= m; i++){
for(int j = 1; j <= n; j++) {
dp[i][j] = dp[i-1][j] + dp[i][j-1];
}
}
return dp[m][n];//返回最后一个位置
}