63. Unique Paths II(唯一路径之二)

LeetCode 63. Unique Paths II--二维数组从左上角到右下角的唯一路径的种数有多少,有1的位置不能走,只能向右或向下移动--2D DP A robot is located at the top-left corner of amxngrid (marked 'Start' in the diagram below). The robot can only move either down or right at any point in time. The robot is trying to reach the bo... 阅读详情

这题跟“唯一路径”有点类似,只是多了一些障碍导致通路无法连通而已,只需要判断一下在进行向下/向右走时是否存在障碍,分情况讨论即可,而且分类讨论的难度不大,也时很快就AC了。

class Solution {
public:
    int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
        if (!obstacleGrid.size())
            return 0;
        int m = obstacleGrid.size();
        int n = obstacleGrid[0].size();
        vector<vector<int>> vec(m, vector<int>(n, 0));
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (!obstacleGrid[i][j]) {
                    if (!i && !j) {
                        vec[i][j] = 1;
                    }
                    else if (!i && j) {
                        vec[i][j] = vec[i][j - 1];
                    }
                    else if (i && !j) {
                        vec[i][j] = vec[i - 1][j];
                    }
                    else {
                        vec[i][j] = vec[i - 1][j] + vec[i][j - 1];
                    }
                }
            }
        }
        return vec[m - 1][n - 1];
    }
};
后来上网查看别人的做法,发现其实不用分类讨论也行,因为只需要判断所算位置的左上方位置是否有障碍,若无障碍则使用递推公式dp[i][j] = dp[i-1][j]+dp[i][j-1],否则就为0,仔细想想确实是这样,看来还是自己想得太多了...

class Solution {
public:
    int uniquePathsWithObstacles(vector<vector<int> > &obstacleGrid) {
        int m = obstacleGrid.size() , n = obstacleGrid[0].size();
        vector<vector<int>> dp(m+1,vector<int>(n+1,0));
        dp[0][1] = 1;
        for(int i = 1 ; i <= m ; ++i)
            for(int j = 1 ; j <= n ; ++j)
                if(!obstacleGrid[i-1][j-1])
                    dp[i][j] = dp[i-1][j]+dp[i][j-1];
        return dp[m][n];
    }
};



深入解析YT8521S千兆以太网PHY芯片的设计与调试要点 本文深入解析了YT8521S千兆以太网PHY芯片的设计与调试要点。重点剖析了硬件设计中的电源方案、RGMII接口电平配置(尤其是1.8V电平方案)以及PCB布局布线等关键细节,并提供了从硬件检查、驱动配置到性能测试的完整调试流程,帮助工程师规避常见陷阱,实现稳定可靠的千兆网络连接。 阅读详情

相关推荐

实例讲解Simulink CAN通讯丢失故障判定模型搭建及仿真测试验证方法

本文通过ABS通讯丢失故障触发、判定条件Simulink模型的搭建和仿真的讲解,介绍了一种控制器CAN通讯丢失故障判定的方法和建模方法,希望能给相关技术人员带来一定参考和帮助。

qq_43011586的博客 3684

63. Unique Paths II(不同路径 II)两种解法(C++ & 注释)

63. Unique Paths II(不同路径 II)1. 题目描述2. 回溯法(Backtracking)2.1 解题思路2.2 实例代码3. 动态规划(Dynamic Programming)3.1 解题思路3.2 实例代码 1. 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

主要研究图形学相关领域 828

STM32F103VET6实战:用W25Q64外部Flash实现Bootloader远程升级(含完整代码解析)

本文详细介绍了基于STM32F103VET6与W25Q64外部Flash的Bootloader远程升级实现方案,包含硬件选型、存储分区策略、双校验机制及完整代码解析。通过SPI接口实现固件存储与升级,适用于物联网设备开发,提升OTA功能可靠性。

weixin_42620340的博客 356

63. Unique Paths II

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

GGGGITFKBJG的主页 179

别再死记硬背了!用一张时序图彻底搞懂Setup和Hold检查的本质

本文深入解析数字IC设计中的Setup和Hold时序检查原理,通过波形图直观展示数据在触发器间的传递过程。详细讲解Setup检查为何关注前一周期的数据,Hold检查为何关注同一周期的数据,并提供实际设计中的考量因素和修复策略,帮助工程师彻底理解时序检查的本质。

weixin_29927965的博客 363

用InVEST做碳中和规划?手把手教你计算城市碳储量与热岛效应

本文详细介绍了如何利用InVEST模型进行城市碳中和规划的科学评估。通过手把手教学,演示了如何使用该模型的碳存储与城市热岛缓解模块,从数据准备、模型运行到结果解读,量化评估不同规划方案下的碳储量变化与热岛效应缓解潜力,为城市规划者提供科学的决策依据。

weixin_29201313的博客 821

leecode第六十三题(不同路径 II)

class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int m=obstacleGrid.size(); if(m==0) return 0; ...

weixin_30693683的博客 133

19、利用PostGIS进行空间分析:更高效的矢量分析方法

本文介绍了如何利用PostGIS进行高效灵活的矢量空间分析,重点探讨了在选址安静住宅场景中使用缓冲区和距离测量两种方法的实现与优化。通过QGIS与PostGIS结合,演示了数据上传、CTE应用、ST_Intersects与ST_Distance函数对比,并深入分析了横向子查询在提升查询性能和代码可读性方面的优势。文章还比较了不同方法的适用场景,并以房地产开发选址为例展示了完整分析流程,最后总结了PostGIS在空间分析中的强大能力与未来应用前景。

d3e4f的博客 92

leetcode:63. 不同路径 II

题目来源 leetcode 题目描述 [0][0]直接就是障碍物我是万万想不到的[震惊] class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { } }; 题目解析 递归 如果没有障碍物的话,从(0, 0)出发,每次只能往下走、或者往右走。 假设i表示行、j表示列,当前点为(i,j),那么每次只能往(i + 1, j)移动、

OceanStar的博客 313

OpenOCD入门到精通:第 4 章 配置文件体系详解

本文深入解析OpenOCD配置文件的体系结构和工作机制。首先介绍了配置文件的搜索路径优先级和加载顺序,以及配置阶段与运行阶段的区别。然后详细分析了interface配置文件的适配器参数调优方法,包括ST-Link、CMSIS-DAP和FTDI等常见调试器的配置示例。最后重点讲解了target配置文件的核心结构,包括TAP声明、目标创建和工作区设置等关键步骤,并以stm32f1x为例展示了完整的配置流程。通过本文可以全面了解OpenOCD配置文件的分层设计理念和参数化配置方法。

从事嵌入式linux android驱动开发,拥有全栈能力 593

ICC2:postmask ECO参考脚本

更多学习内容请关注「拾陆楼」知识星球。

m0_61544122的博客 882

63. 不同路径 II(动态规划/c++/python)

c++ 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...

qq_36421001的博客 1996

基于滤波反投影的图像重建算法matlab仿真

基于滤波反投影的图像重建算法是一种用于医学影像重建的计算机辅助技术。该算法可以从投影数据中重建出高质量的三维图像,被广泛应用于医学影像学、CT、PET等领域。本文将详细介绍基于滤波反投影的图像重建算法的原理、步骤和应用。一、原理介绍基于滤波反投影的图像重建算法基于X射线CT成像原理,它的主要思想是通过对投影数据进行处理,反推出被成像物体的三维形状。其核心原理是投影数据与目标物体之间的线性关系,即通过估计目标物体的吸收率来计算投影数据的变化,从而反推出目标物体的三维形状。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 385

leetcode 63. Unique Paths II-唯一路径|动态规划

原文链接:Unique Paths II 【抛砖】 与Unique Paths不同的是,这里给机器人增加了障碍物,需要在递推式res[i][j]=res[i-1][j]+res[i][j-1]之前增加一个判断,如果则res[i][j]=0,则res[i][j] = 0: public int uniquePathsWithObstacles(int[][] obstacleG

hdtopku 4446

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

LeetCode 63. Unique Paths II(唯一路径)

原题网址:https://leetcode.com/problems/unique-paths-ii/ Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How many unique paths would there be? An obstacle an

James Pan 424

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

62. Unique Paths & 63. Unique Paths II(唯一路径1&2)

62. Unique Paths & 63. Unique Paths II(唯一路径1&2) Unique Paths 63 Unique Paths II唯一路径12 Unique Paths 题目链接 题目描述 题目分析 方法动态规划 算法描述 参考代码 Unique Paths II 题目链接 题目描述 题目分析 方法动态规划 算法描述 参考代码

qq_32142535的博客 500

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

leetCode 63.Unique Paths II (唯一路径II) 解题思路和方法

Unique Paths II Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How many unique paths would there be? An obstacle and empty space is marked as 1 and 0 res

Android进阶 837

Programming Camp – Algorithm Training Camp – Day 39

1. Unique Paths (Leetcode Number: 62) 2.Unique Paths II(Leetcode Number: 63)

ee07b326的博客 99

Leetcode 63. Unique Paths II 不同路径 II

Leetcode 63. Unique Paths II 不同路径 II 标签: Leetcode 题目地址: https://leetcode-cn.com/problems/unique-paths-ii/ 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Fi...

CoderWangSon 343

63. **Unique Paths II

63. **Unique Paths II https://leetcode.com/problems/unique-paths-ii/description/ 题目描述 Follow up for 62. Unique Paths**: Now consider if some obstacles are added to the grids. How many unique paths wou...

珍妮的选择的博客 342

[leetcode][python]63. Unique Paths II

63. Unique Paths II 知识点:dynamic programming 1. 原题 A robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the diagram below). The robot can only move either down or right at any ...

qq_40670635的博客 333

【LeetCode】解题63:Unique Paths II

LeetCode解题 63:Unique Paths II Problem 63: Unique Paths II [Medium]解题思路Solution (Java) Problem 63: Unique Paths II [Medium] A robot is located at the top-left corner of a m x n grid (marked ‘Start’ in ...

Fayedily的博客 278

[Lintcode]115. Unique Paths II/[Leetcode]63. Unique Paths II

#115. Unique Paths II/63. Unique Paths II 本题难度: Easy/Medium Topic: Dynamic Programming Description Follow up for “Unique Paths”: Now consider if some obstacles are added to the grids. How many uniqu...

siriusli1981的博客 231

LeetCode 63. Unique Paths II(动态规划)

题目来源:https://leetcode.com/problems/unique-paths-ii/ 问题描述 63.Unique Paths II Medium A robot is located at the top-left corner of amxngrid (marked 'Start' in the diagram below). The robot can ...

da_kao_la的博客 520

【Leetcode】63. 不同的路径 II(Unique Paths II)

Leetcode - 63 Unique Paths II (Medium) 题目描述:和上一道题类似,只不过在路径中添加了障碍物,给定路径数组,1 表示障碍物,0 表示正常方块。 Input: [ [0,0,0], [0,1,0], [0,0,0] ] Output: 2 Explanation: There is one obstacle in the middle of the ...

厉兵秣码 206

LeetCode | 63. Unique Paths II

63. Unique Paths II Description 描述:https://leetcode.com/problems/unique-paths-ii/description/ 题意:m列 × n行 的有障碍物的网格,从左上角第一个到右下角最后一个(只能往右和下这两个方向走),有多少条不重复的路径 Solution: (Java) class Solution { public ...

Karmen199x的博客 205
上一篇: 62. Unique Paths(唯一路径)
下一篇: 64. Minimum Path Sum(最短路径和)
BetweenRain
博客等级 码龄9年 0粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值