62. 不同路径

151 阅读1分钟

题目描述

image.png

思路 :动态规划

  • dp[i][j] 表示从start走到第i行第j列的不同路径数量。
  • 状态转移方程:dp[i][j] = dp[i - 1][j] + dp[i][j - 1];当单元格是上边沿和左边沿时,dp=1
class Solution {
    public int uniquePaths(int m, int n) {
        int dp[][] = new int[m][n];
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (i == 0 || j == 0) {
                    dp[i][j] = 1;
                } else {
                    dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
                }             
            }
        }
        return dp[m - 1][n - 1];
    }
}