做网站英文怎么说,手机app开发上市公司,如果网站没有做icp备案会被处罚,哈尔滨网站建设资海62.63
题目#xff1a;
一个机器人位于一个 m x n 网格的左上角 #xff08;起始点在下图中标记为 “Start” #xff09;。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角#xff08;在下图中标记为 “Finish” #xff09;。问总共有多少条不同的路…62.63
题目
一个机器人位于一个 m x n 网格的左上角 起始点在下图中标记为 “Start” 。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角在下图中标记为 “Finish” 。问总共有多少条不同的路径
题目链接62. 不同路径 - 力扣LeetCode
一个机器人位于一个 m x n 网格的左上角 起始点在下图中标记为 “Start” 。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角在下图中标记为 “Finish”现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径网格中的障碍物和空位置分别用 1 和 0 来表示。
题目链接63. 不同路径 II - 力扣LeetCode
思路
相较于爬楼梯只是从一维变为二维有障碍在初始化和推导时判断当前或者上一结点即可。
详情代码随想录 (programmercarl.com)代码随想录 (programmercarl.com)
代码
class Solution {public int uniquePaths(int m, int n) {int[][] dp new int [m][n];dp[0][0]1;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];}
}class Solution {public int uniquePathsWithObstacles(int[][] obstacleGrid) {int m obstacleGrid.length;int n obstacleGrid[0].length;int[][] dp new int [m][n];if(m1 n1 obstacleGrid[0][0]1)return 0;dp[0][0]1;for(int i1;in;i){if(obstacleGrid[0][i-1]1||obstacleGrid[0][i]1)dp[0][i]0;else dp[0][i]dp[0][i-1];}for(int i1 ;im;i){if(obstacleGrid[i-1][0]1||obstacleGrid[i][0]1)dp[i][0]0;else dp[i][0]dp[i-1][0];}for(int i1;im;i){for(int j1;jn;j){if(obstacleGrid[i][j]0)dp[i][j]dp[i-1][j]dp[i][j-1];else dp[i][j]0;} }return dp[m-1][n-1];}
}