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()];
    }
相关推荐
近津薪荼21 小时前
优选算法——滑动窗口3(子数组)
c++·学习·算法
遨游xyz21 小时前
数据结构-栈
java·数据结构·算法
ghie909021 小时前
基于动态规划算法的混合动力汽车能量管理建模与计算
算法·汽车·动态规划
蓝海星梦21 小时前
GRPO 算法演进——裁剪机制篇
论文阅读·人工智能·深度学习·算法·自然语言处理·强化学习
小O的算法实验室21 小时前
2025年SEVC SCI2区,结合低差异序列和共轭梯度法的新型异构综合学习粒子群算法,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
会叫的恐龙21 小时前
C++ 核心知识点汇总(第四日)(循环结构)
c++·算法·循环结构
sin_hielo21 小时前
leetcode 3637
数据结构·算法·leetcode
仍然.21 小时前
算法题目---双指针算法
数据结构·算法·排序算法
2401_8414956421 小时前
【LeetCode刷题】翻转二叉树
python·算法·leetcode··递归·节点·翻转二叉树
嵌入小生00721 小时前
数据结构与算法 | 完全二叉树的实现、哈希表的实现
linux·c语言·数据结构·算法·vim·嵌入式