当前位置: 首页 > news >正文

63. 不同路径 II

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。

现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

网格中的障碍物和空位置分别用 1 和 0 来表示。
在这里插入图片描述
输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]
输出:2
解释:3x3 网格的正中间有一个障碍物。
从左上角到右下角一共有 2 条不同的路径:

  1. 向右 -> 向右 -> 向下 -> 向下
  2. 向下 -> 向下 -> 向右 -> 向右
    在这里插入图片描述
    输入:obstacleGrid = [[0,1],[0,0]]
    输出:1

ACcode

class Solution {
public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {//dp[i][j]表示达到ij下标的路径数int m = obstacleGrid.size();int n = obstacleGrid[0].size();vector<vector<int>> dp(m, vector<int>(n, 0));if(obstacleGrid[m-1][n-1] == 1 || obstacleGrid[0][0] == 1){return 0;}//初始化for(int i=0; i<m && obstacleGrid[i][0] == 0; i++){dp[i][0] = 1;}for(int i=0; i<n && obstacleGrid[0][i] == 0; i++){dp[0][i] = 1;}for(int i=1; i<m; i++){for(int 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];}
};

相关文章:

  • 二叉搜索树中第K小的元素[中等]
  • unittest与pytest的区别
  • 【已解决】解决UbuntuKali无法进行SSH远程连接
  • 理解基于 Hadoop 生态的大数据技术架构
  • k8s 安装部署
  • OWASP安全练习靶场juice shop-更新中
  • 【基于ESP32无线蓝牙上传电脑Excel透传数据】
  • [Ubuntu 20.04] 使用Netplan配置网络静态IP
  • Kubernetes -Kubernetes中的Network组件
  • lv12 系统移植导学 1
  • Word插件-好用的插件-一键设置字体--大珩助手
  • Chatgpt如何完成论文写作及python机器学习和深度学习领域的运用
  • 4.8 构建onnx结构模型-Less
  • 中文分词演进(查词典,hmm标注,无监督统计)新词发现
  • 【重点】【二叉树】114. 二叉树展开为链表
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • Git的一些常用操作
  • HTTP中GET与POST的区别 99%的错误认识
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • jquery cookie
  • 多线程 start 和 run 方法到底有什么区别?
  • 高性能JavaScript阅读简记(三)
  • 让你的分享飞起来——极光推出社会化分享组件
  • 如何利用MongoDB打造TOP榜小程序
  • 使用 QuickBI 搭建酷炫可视化分析
  • 试着探索高并发下的系统架构面貌
  • 算法---两个栈实现一个队列
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • ​第20课 在Android Native开发中加入新的C++类
  • ​什么是bug?bug的源头在哪里?
  • #WEB前端(HTML属性)
  • (1)(1.13) SiK无线电高级配置(五)
  • (二)PySpark3:SparkSQL编程
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (四)鸿鹄云架构一服务注册中心
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)Mysql的优化设置
  • (转)shell调试方法
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .net Stream篇(六)
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .ui文件相关
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • :“Failed to access IIS metabase”解决方法
  • [ C++ ] STL---string类的模拟实现
  • []FET-430SIM508 研究日志 11.3.31
  • [AX]AX2012 AIF(四):文档服务应用实例
  • [bzoj1038][ZJOI2008]瞭望塔
  • [C++]类和对象【上篇】