欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

62. 不同路径

程序员文章站 2022-04-17 13:26:32
...

问题
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。

问总共有多少条不同的路径?

62. 不同路径
62. 不同路径

例子

62. 不同路径

思路
res[i][j]=res[i-1][j]+res[i][j-1];

  • 方法1

  • 方法2

代码

//方法1
class Solution {
    public int uniquePaths(int m, int n) {
        int[][] res = new int[m][n];
        for(int i=0; i<m; i++) {
            for(int j=0; j<n; j++) {
                if(i==0 && j==0) res[i][j]=1;
                else if(i==0) res[i][j]=res[i][j-1];
                else if(j==0) res[i][j]=res[i-1][j];
                else res[i][j]=res[i-1][j]+res[i][j-1];
            }
        }
        
        return res[m-1][n-1];

    }
}
//方法2