leetcode 动态规划(基础版)不同路径II

题目:

题解:

一种可行的方案是,因为障碍物无法到达也无法从障碍物过来,所以遇上障碍物时将对应的dp位置设为0即可,这样非常巧妙简单地解决了这个问题。

cpp 复制代码
int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
        int dp[105][105]={0};
        dp[0][1]=1;
        for(int i=1;i<=obstacleGrid.size();i++){
            for(int j=1;j<=obstacleGrid[0].size();j++){
                if(obstacleGrid[i-1][j-1]==1)continue;
                dp[i][j]=dp[i-1][j]+dp[i][j-1];
            }
        }
        return dp[obstacleGrid.size()][obstacleGrid[0].size()];
    }
相关推荐
@小码农9 小时前
2026年3月Scratch图形化编程等级考试一级真题试卷
开发语言·数据结构·c++·算法
Wect10 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·算法·typescript
糖果店的幽灵10 小时前
决策树详解与sklearn实战
算法·决策树·sklearn
Lewiis10 小时前
趣谈排序算法
算法·排序算法
ComputerInBook10 小时前
数字图像处理(4版)——第 8 章——图像压缩与水印(上)(Rafael C.Gonzalez&Richard E. Woods)
人工智能·算法·计算机视觉·图像压缩·图像水印
刀法如飞11 小时前
Python列表去重:从新手三连到高阶特技,20种解法全收录
python·算法·编程语言
minji...11 小时前
算法题 动态规划
算法·动态规划
水蓝烟雨11 小时前
3337. 字符串转换后的长度 II
算法·leetcode
MegaDataFlowers11 小时前
SiliconCompiler workflow
算法
_日拱一卒11 小时前
LeetCode:226翻转二叉树
数据结构·算法·leetcode