代码随想录——不同路径Ⅱ(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];
    }
}

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

相关推荐
Rock_yzh1 天前
LeetCode算法刷题——128. 最长连续序列
数据结构·c++·算法·哈希算法
WolfGang0073211 天前
代码随想录算法训练营Day32 | 518.零钱兑换II、377. 组合总和 Ⅳ、70. 爬楼梯(进阶)
算法
字节拾光录1 天前
手机号存储避坑指南:从20亿级数据库实践看,为什么VARCHAR才是终极答案
java·数据库·oracle
p***97611 天前
SpringBoot(7)-Swagger
java·spring boot·后端
j***29481 天前
springboot集成onlyoffice(部署+开发)
java·spring boot·后端
叫致寒吧1 天前
Tomcat详解
java·tomcat
2501_941623321 天前
智慧农业监控平台中的多语言语法引擎与实时决策实践
leetcode
轻抚酸~1 天前
KNN(K近邻算法)-python实现
python·算法·近邻算法
测试界的海飞丝1 天前
10道软件测试面试题及其答案:
服务器·测试工具·职场和发展