临漳seo整站排名,长安区建设局官网站站,wordpress评论不要地址邮箱,华东网站建设牛客题霸 [ 求路径] C题解/答案
题目描述
一个机器人在mn大小的地图的左上角#xff08;起点#xff0c;下图中的标记“start的位置#xff09;。 机器人每次向下或向右移动。机器人要到达地图的右下角。#xff08;终点#xff0c;下图中的标记“Finish的位…牛客题霸 [ 求路径] C题解/答案
题目描述
一个机器人在m×n大小的地图的左上角起点下图中的标记“start的位置。 机器人每次向下或向右移动。机器人要到达地图的右下角。终点下图中的标记“Finish的位置。 可以有多少种不同的路径从起点走到终点
题解
原本想递归做发现复杂度过高 动态规划做法 我们先设置边界就是沿着边走每次移动只有一种方案 然后转移方程 dp[i][j]dp[i-1][j]dp[i][j-1] 当前格子(i,j),可以是从(i-1,j)走来的也可以是从(i,j-1)走来的 应该很好理解
代码
class Solution {
public:/*** * param m int整型 * param n int整型 * return int整型*/int uniquePaths(int m, int n) {int dp[m][n];// write code hereif(m1||n1)return 0;for(int i0;in;i)dp[0][i]1;for(int i0;im;i)dp[i][0]1;for(int i1;im;i){for(int j1;jn;j){dp[i][j] dp[i-1][j] dp[i][j-1];}}return dp[m-1][n-1];}
};