java刷题--63不同路径II

Posted Anrys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java刷题--63不同路径II相关的知识,希望对你有一定的参考价值。

java刷题--63不同路径II

题目

在这里插入图片描述

代码

class Solution {
    public int uniquePathsWithObstacles(int[][] obstacleGrid) {
        if (obstacleGrid == null || obstacleGrid.length == 0) return 0;
        int m = obstacleGrid.length, n = obstacleGrid[0].length;
        int[][] dp = new int[m][n]; //m行n列
        for (int i = 0; i < m && obstacleGrid[i][0] == 0; i++) dp[i][0] = 1;
        for (int j = 0; j < n && obstacleGrid[0][j] == 0; j++) dp[0][j] = 1;
        for (int i = 1; i < m; i++) {
            for (int j = 1; j < n; j++) {
                if (obstacleGrid[i][j] == 0) { //如果i,j无障碍
                    dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
                }
            }
        }
        return dp[m - 1][n - 1];
    }
}

结果

在这里插入图片描述

以上是关于java刷题--63不同路径II的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode刷题Python63. 不同路径 II

63. 不同路径 II leetcode JAVA

算法动态规划 ⑤ ( LeetCode 63.不同路径 II | 问题分析 | 动态规划算法设计 | 代码示例 )

算法动态规划 ⑤ ( LeetCode 63.不同路径 II | 问题分析 | 动态规划算法设计 | 代码示例 )

LeetCode 63. 不同路径 II

leetcode 每日一题 63. 不同路径 II