题解:
1、设dp[i][j]代表到达(i,j)点最多的路径;题目要求机器人每次只能向右或向下走一步,所以到达(i,j)点的最多路径为到达(i-1,j)的最多路径与到达(i,j-1)的最多路径之和。即dp[i][j]=dp[i-1][j]+dp[i][j-1]。
2、初始化一个M*N的矩阵dp,将dp[0][0]设置为1,其余都设置为0;
3、遍历矩阵dp。当元素位于第一行时即i==0,dp[i][j]=dp[i][j-1];当元素位于第一列时即j==0,dp[i][j]=dp[i-1][0];当元素位于非第一行与第一列时,dp[i][j]=dp[i-1][j]+dp[i][j-1]。
4、返回dp[-1][-1]。
代码:
参考:leetcode-64-最小路径和