代码随想录——不同路径Ⅱ(Leetcode 63)

题目链接

动态规划

java 复制代码
class Solution {
    public int uniquePathsWithObstacles(int[][] obstacleGrid) {
        int m = obstacleGrid.length;
        int n = obstacleGrid[0].length;
        int[][] dp = new int[m][n];
        // 遇到障碍则从(0,0)到达
        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++){
            	// 如果没有障碍则dp公式正确执行
                if(obstacleGrid[i][j] == 0){
                    dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
                }
            }
        }
        return dp[m - 1][n - 1];
    }
}

本题目是上一篇博客不同路径这道题目的升级版,整体动态规划思路相同,本题多了障碍这一条件约束。

相关推荐
SteveSenna1 分钟前
项目:Trossen Arm MuJoCo
人工智能·学习·算法
NAGNIP12 分钟前
一文搞懂CNN经典架构-DenseNet!
算法·面试
希望永不加班16 分钟前
SpringBoot 过滤器(Filter)与请求链路梳理
java·spring boot·后端·spring
道法自然|~18 分钟前
BugCTF黄道十二宫
算法·密码学
Lyyaoo.19 分钟前
【JAVA基础面经】抽象类/方法与接口
java·开发语言
0xDevNull22 分钟前
Java实现Redis延迟队列:从原理到高可用架构
java·开发语言·后端
于先生吖26 分钟前
无人共享健身房 Java 后端源码 + 多端对接完整方案
java·开发语言
恼书:-(空寄32 分钟前
Spring 事务失效的 8 大场景 + 原因 + 解决方案
java·后端·spring
野生技术架构师1 小时前
1000道互联网大厂Java岗面试原题解析(八股原理+场景题)
java·开发语言·面试
jiankeljx1 小时前
Java实战:Spring Boot application.yml配置文件详解
java·网络·spring boot