62-不同路径

 思路:机器人一次只能向下或向右移动一步。也就是说,从下标(0,0)开始走的机器人,下标x或者下标y为0的这两列,都只有一种路径,因为从(0,0)走到(0,x),(y,0)只能一步一步向下或向右走,一种路径。

当x,y下标不为0时,(x,y)处的路径,很显然,等于(x-1,y)路径数加(x,y-1)的路径数

所以需要一个数组记录(m,n)每个点的路径,x==0,y==0这两列数值都为1,看代码吧,比较简单

class Solution {
    public int uniquePaths(int m, int n) {
        
        int[][] res=new int[m][n];//每一个数是(m,n)这个节点的路径数,x==0,y==0这两行,只有一条路
        for(int i=0;i<n;i++)
        {
            res[0][i]=1;
        }
        for(int j=0;j<m;j++)
        {
            res[j][0]=1;
        }
        for(int i=1;i<m;i++)
        {
            for(int j=1;j<n;j++)
            {
                res[i][j]=res[i-1][j]+res[i][j-1];
            }
        }
        return res[m-1][n-1];
        
    }
}

  

原文地址:https://www.cnblogs.com/lzh1043060917/p/12800426.html