比较简单和基础的DP。
Base:左边和上边,都是1.
Transfer:dp[i][j] = dp[i-1][j]+ dp[i][j-1] (i>1 && j>1)
i,j 这里从1开始,对应实际No.
class Solution {
public int uniquePaths(int m, int n) {
int[][] dp = new int[m+1][n+1];
for(int i = 1; i<= m; i++){
dp[i][1] = 1;
for(int j =1; j<=n; j++){
dp[1][j] = 1;
if(i>1 && j>1)dp[i][j] =dp[i-1][j] + dp[i][j-1];
}
}
return dp[m][n];
}
}
网友评论