本文主要是介绍leetcode解题方案--063--Unique Paths II,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
Follow up for “Unique Paths”:
Now consider if some obstacles are added to the grids. How many unique paths would there be?
An obstacle and empty space is marked as 1 and 0 respectively in the grid.
For example,
There is one obstacle in the middle of a 3x3 grid as illustrated below.
[
[0,0,0],
[0,1,0],
[0,0,0]
]
The total number of unique paths is 2.
Note: m and n will be at most 100.
分析
这道题,emmmm,怎么说呢
dp
class Solution {public static int uniquePathsWithObstacles(int[][] obstacleGrid) {if (obstacleGrid.length<=0||obstacleGrid[0].length<=0){return 0;}int[][]dp = new int[obstacleGrid.length][obstacleGrid[0].length];for (int i = 0; i< dp.length; i++) {for (int j= 0 ; j<dp[0].length; j++){if (obstacleGrid[i][j] == 1) {dp[i][j] = 0;} else {if (i==0 && j == 0) {dp[i][j] = 1;} else if (i==0 && j!=0){dp[i][j] = dp[i][j-1];} else if (i!=0 && j==0){dp[i][j] = dp[i-1][j];} else {dp[i][j] = dp[i-1][j]+dp[i][j-1];}}}}for (int i = 0;i<dp.length;i++) {System.out.println(Arrays.toString(dp[i]));}return dp[dp.length-1][dp[0].length-1];}
}
这篇关于leetcode解题方案--063--Unique Paths II的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!