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]; } }