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()];
    }
相关推荐
LYFlied4 小时前
【每日算法】LeetCode239. 滑动窗口最大值
数据结构·算法·leetcode·面试
XiaoHu02074 小时前
C++ 数据结构关于二叉搜索树
数据结构·算法
CoovallyAIHub4 小时前
下一代驾驶员监测系统如何工作?视觉AI接管驾驶舱
深度学习·算法·计算机视觉
C雨后彩虹4 小时前
事件推送问题
java·数据结构·算法·华为·面试
夏鹏今天学习了吗4 小时前
【LeetCode热题100(76/100)】划分字母区间
算法·leetcode·职场和发展
LYFlied4 小时前
【每日算法】LeetCode 560. 和为 K 的子数组
前端·数据结构·算法·leetcode·职场和发展
Epiphany.5564 小时前
dfn序优化树上背包
算法
MicroTech20254 小时前
微算法科技(NASDAQ MLGO)区块链混合检测模型优化确保全网防御策略一致性
科技·算法·区块链
LYFlied4 小时前
【每日算法】 LeetCode 394. 字符串解码
前端·数据结构·算法·leetcode·面试·职场和发展
董世昌414 小时前
break和continue的区别是什么?
java·jvm·算法