代码编织梦想

51b0437795849d29b5abf4d472c17054.png
class Solution {
public:
    int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
        int m=obstacleGrid.size();
        int n=obstacleGrid[0].size();
      vector<vector<int>>dp(m,vector<int>(n,0));
        int i,j;
        if(obstacleGrid[0][0]==1||obstacleGrid[m-1][n-1]==1)return 0;
        for(i=0;i<m&& obstacleGrid[i][0] == 0;i++)
            dp[i][0]=1;
        for(i=0;i<n&& obstacleGrid[0][i] == 0;i++)
            dp[0][i]=1;
        for(i=1;i<m;i++){
            for(j=1;j<n;j++){
                if(obstacleGrid[i][j]==1)continue;
                dp[i][j]=dp[i-1][j]+dp[i][j-1];
            }
        }
        return dp[m-1][n-1];
    }
};
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/aaronyyds/article/details/129642955

leetcode 63. 不同路径 ii dp_zzcblogs的博客-爱代码爱编程

这是“不同路径” 的进阶问题: 现在考虑网格中有障碍物。那样将会有多少条不同的路径从左上角到右下角? 网格中的障碍物和空位置分别用 1 和 0 来表示。 例如, 如下所示在 3x3 的网格中有一个障碍物。 [ [0,0,0], [0,1,0], [0,0,0] ] 一共有 2 条不同的路径从左上角到右下角。 注意: m 和 n 的值均不超过

leetcode-python-63. 不同路径 ii_暴躁老哥在线刷题的博客-爱代码爱编程

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和 0 来表示。 说明:m 和 n 的值均不超过 100

LeetCode 63. 不同路径 II | Python-爱代码爱编程

文章目录 63. 不同路径 II题目解题思路代码实现实现结果总结 63. 不同路径 II 题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/unique-paths-ii 题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或

【leetcode】62. 不同路径 & 63. 不同路径 II (dp入门)-爱代码爱编程

题目: 62. 不同路径 题目链接:62. 不同路径 思路分析: 建立dp数组,定义dp[i][j]为:从起点到位置(i,j)时的路径总数。由加法原理和“每次只能向下或者向右移动一步”可以知道:“走到(i,j)”由“走到(i-1,j)”或者“走到(i,j-1)”得到,故“走到(i,j)”的方法总数就是“走到(i-1,j)”和“走到(i,j-1)”

【算法-LeetCode】63. 不同路径 II(动态规划;滚动数组)-爱代码爱编程

63. 不同路径 II - 力扣(LeetCode) 文章起笔:2021年11月13日16:28:08 问题描述及示例 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。现在考虑网格中有障碍物。那么从左

63. 不同路径 II(动态规划/c++/python)-爱代码爱编程

c++ class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int m = obstacleGrid.size(); int n = obstacle

63. 不同路径 II(动态规划)-爱代码爱编程

63. 不同路径 II 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和 0 来表示。 示例 1

Leecode63.不同路径II(动态规划)-爱代码爱编程

Leecode63.不同路径II(动态规划) 这题与不同路径I的唯一不同就是加了障碍物,我们只需要对之前的代码改进即可 可以先看一下我之前写的不同路径I; 点击下方链接跳转Leecode62.不同路径:点击跳转 1.先判断特殊情况(可适当减少执行用时) 路径数比为0的情况: 若obstacleGrid[0][0]==1, 说明第一个位置被障碍

LeetCode 63. 不同路径 II-爱代码爱编程

题目链接: 力扣https://leetcode-cn.com/problems/unique-paths-ii/ 【分析】这道题和62.不同路径的区别就是这个会有障碍物,因此在dp的时候需要先判断是否为1,如果为1就将该点的dp值设置为一,否则还是左边和上边的格子之和。 class Solution { public int uniqu

代码随想录day39 | 62.不同路径、63.不同路径ii_囿丫七的博客-爱代码爱编程

文章目录 62.不同路径63.不同路径II 62.不同路径 文章链接:代码随想录 (programmercarl.com) 题目链接:62. 不同路径 - 力扣(LeetCode) 题目: 一个机器人位

c++类型转换-爱代码爱编程

C++引入了四种类型转换: 静态类型转换static_cast 去常性转换const_cast 重新解释转换reinterpret_cast 动态转换dynamic_cast 格式:xxx_cast<newtype>(data) 静态类型转换static_cast static_cast 是“静态转换”的意思,也就是在编译

leetcode-爱代码爱编程

63.不同路径 II 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Fini

【高阶数据结构】红黑树-爱代码爱编程

文章目录 1. 使用场景2. 性质3. 结点定义4. 结点旋转5. 结点插入 1. 使用场景 Linux进程调度CFSNginx Timer事件管理Epoll事件块的管理 2. 性质 每一