AcWing
  • 首页
  • 活动
  • 题库
  • 竞赛
  • 校园
  • 应用
  • 文章
    • 题解
    • 分享
    • 问答
  • 吐槽
  • 登录/注册

LeetCode 63. 不同路径 II

作者: 作者的头像   hpstory ,  2022-06-23 17:23:42 ,  所有人可见 ,  阅读 2


0


public class Solution {
    public int UniquePathsWithObstacles(int[][] obstacleGrid) {
        int n = obstacleGrid.Length, m = obstacleGrid[0].Length;
        // 到点n,m不同路径数量
        int[,] dp = new int[n, m];
        // 遇到障碍物跳过列剩余元素
        for (int i = 0; i < n; i++){
            if (obstacleGrid[i][0] == 1) break;
            dp[i, 0] = 1;
        }
        // 遇到障碍物跳过行剩余元素
        for (int j = 0; j < m; j++){
            if (obstacleGrid[0][j] == 1) break;
            dp[0, j] = 1;
        }

        for (int i = 1; i < n; i++){
            for (int j = 1; j < m; j++){
                if(obstacleGrid[i][j] != 1){
                    dp[i, j] = dp[i - 1, j] + dp[i, j - 1];
                }
            }
        }

        return dp[n - 1, m - 1];
    }
}

0 评论

你确定删除吗?

© 2018-2022 AcWing 版权所有  |  京ICP备17053197号-1
用户协议  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息