一、题目内容
二、题解
解法1:
思路
dp,时间复杂度mn,空间复杂度mn
代码
public class Solution { public int uniquePaths (int m, int n) { // write code here int[][] dp = new int[m][n]; //dp[i][j] = d[i-1][j] + dp[i][j-1]; i>=1,j>=1 for(int i = 0; i<m; i++){ for(int j = 0; j<n; j++){ if(i == 0 || j == 0){ dp[i][j] = 1; continue; }else{ dp[i][j] = dp[i-1][j] + dp[i][j-1]; } } } return dp[m-1][n-1]; }}
解法2:
思路
递归,时间复杂度mn,空间复杂度1
代码
public class Solution { public int uniquePaths (int m, int n) { if(m == 1 || n == 1){ return 1; } return uniquePaths(m-1,n) + uniquePaths(m,n-1); }}