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()];
    }
相关推荐
ysu_031420 小时前
05 | 持久化撤销提示非核心功能
算法·游戏程序
浮沉98721 小时前
二分查找算法概述&通用模板
算法
Keven_111 天前
算法札记:SPFA判负环算法的证明
算法
什巳1 天前
JAVA练习278- 和为 K 的子数组
java·学习·算法·leetcode
Jerry1 天前
LeetCode 347. 前 K 个高频元素
算法
Young Doro1 天前
SAC 算法
线性代数·算法·机器学习
罗超驿1 天前
2.算法效率的核心密码:时间复杂度和空间复杂度详解
java·数据结构·算法
:-)1 天前
算法-堆排序
数据结构·算法·排序算法