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()];
    }
相关推荐
Yzzz-F22 分钟前
2025 ICPC武汉邀请赛 G [根号分治 容斥原理+DP]
算法
abant227 分钟前
leetcode 114 二叉树变链表
算法·leetcode·链表
tankeven29 分钟前
HJ165 小红的优惠券
c++·算法
先积累问题,再逐次解决1 小时前
快速幂优美算法
算法
XiYang-DING1 小时前
【LeetCode】 225.用队列实现栈
算法·leetcode·职场和发展
花月C2 小时前
线性动态规划(Linear DP)
算法·动态规划·代理模式
派大星~课堂2 小时前
【力扣-148. 排序链表】Python笔记
python·leetcode·链表
hetao17338372 小时前
2025-03-24~04-06 hetao1733837 的刷题记录
c++·算法
小白菜又菜2 小时前
Leetcode 657. Robot Return to Origin
python·leetcode·职场和发展