一、题目
二、思路解析
1.思路:
对于找到目的地它的来源主要来源于目的地的++上一格++ 和目的地的++左一格++
2.常用方法:
无
3.核心逻辑:
1.处理边界:
a.只向右移动,至始至终只有一条路径
java
for(int i=0;i<m;i++){
dp[i][0]=1;
}
b.只向下移动,至始至终只有一条路径
java
for(int i=0;i<m;i++){
dp[i][0]=1;
}
2.一般情况:对于找到目的地它的来源主要来源于目的地的++上一格++ 和目的地的++左一格++
java
for(int i=1;i<m;i++){
for(int j=1;i<n;j++){
dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
}
三、代码实现
java
class Solution {
public int uniquePaths(int m, int n) {
int[][]dp=new int[m][n];
for (int i = 0; i < m; i++) {
dp[i][0] = 1;
}
for (int i = 0; i < n; i++) {
dp[0][i] = 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-1][n-1];
}
}