【Leecode】Leecode刷题之路第63天之不同路径II

Scroll Down

题目出处

63-不同路径II-题目出处

题目描述

63-不同路径II-题目描述1
63-不同路径II-题目描述2

个人解法

思路:

todo

代码示例:(Java)

todo

复杂度分析

todo

官方解法

63-不同路径II-官方解法

方法1:动态规划

思路:

63-不同路径II-动态规划-思路

代码示例:(Java)

public class Solution1 {
    public int uniquePathsWithObstacles(int[][] obstacleGrid) {
        int n = obstacleGrid.length, m = obstacleGrid[0].length;
        int[] f = new int[m];

        f[0] = obstacleGrid[0][0] == 0 ? 1 : 0;
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < m; ++j) {
                if (obstacleGrid[i][j] == 1) {
                    f[j] = 0;
                    continue;
                }
                if (j - 1 >= 0 && obstacleGrid[i][j - 1] == 0) {
                    f[j] += f[j - 1];
                }
            }
        }

        return f[m - 1];
    }


}

复杂度分析

63-不同路径II-动态规划-复杂度分析

考察知识点

收获

Gitee源码位置

63-不同路径II-源码

同名文章,已同步发表于CSDN,个人网站,公众号