力扣63.不同路径II(动态规划)

/*** @author Limg* @date 2022/08/09* 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。* 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。* 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?* 网格中的障碍物和空位置分别用 1 和 0 来表示。
*/
#include<iostream>
#include<vector>
using namespace std;
int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid);
int main()
{int m=2,n=2;cin>>m;cin>>n;vector<vector<int> > obstacleGrid;int value;vector<int> temp;  for(int i=0;i<m;i++){for(int j=0;j<n;j++){cin>>value;temp.push_back(value);}obstacleGrid.push_back(temp);temp.clear();}cout<<uniquePathsWithObstacles(obstacleGrid)<<endl;return 0;
}
//解题函数
int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) 
{int m = obstacleGrid.size();int n = obstacleGrid[0].size();long record[m][n];if(obstacleGrid[0][0]==1){record[0][0]=0;}else{record[0][0]=1;}for(int i=1;i<m;i++)   {if(obstacleGrid[i][0]==1){record[i][0]=0;}else{record[i][0]=record[i-1][0];}  }for(int i=1;i<n;i++){if(obstacleGrid[0][i]==1){record[0][i]=0;}else{record[0][i]=record[0][i-1];    //这里注意!!要考虑前面有障碍物后面都不通}}for(int i=1;i<m;i++){for(int j=1;j<n;j++){if(obstacleGrid[i][j]==1){record[i][j]=0;}else{record[i][j]=record[i-1][j]+record[i][j-1];}}}return record[m-1][n-1];
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/36055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探讨uniapp的生命周期问题

在uniapp中,生命周期函数分为应用生命周期函数、页面生命周期函数和组件生命周期函数. 1应用声明周期 应用生命周期函数只能在 App.vue 中监听有效&#xff0c;在其他页监听无效。 onLaunch&#xff1a;当uni-app 初始化完成时触发&#xff08;全局只触发一次&#xff09;on…

乡村振兴指数与其30余个原始变量数据(2000-2022年)

乡村振兴是当下经济学研究的热点之一&#xff0c;对乡村振兴进行测度&#xff0c;是研究基础。测度乡村振兴水平的学术论文广泛发表在《数量经济技术经济研究》等顶刊上。整理了2000-2022年城市层面的乡村振兴指数与其30余个原始变量数据&#xff0c;供大家使用。 数据来源&…

react-spring,一个react的动画库的使用

介绍 React Spring 是一个 spring physics based animation library 用于 React。它可以轻松地在 React 中实现弹性、渐变等动画效果。 使用 安装依赖&#xff1a; 使用npm&#xff1a; npm install react-spring 使用yarn&#xff1a; yarn add react-spring 导入和使用&a…

Opencv4基于C++基础入门笔记:OpenCV环境配置搭建

文章目录&#xff1a; 一&#xff1a;软件安装 二&#xff1a;配置环境&#xff08;配置完之后重启一下软件&#xff09; 1.配置电脑系统环境变量 vs2012及其以下 vs2014及其以上 2.配置VS软件环境变量 vs2012及其以下 vs2014及其以上 三&#xff1a;测试 vs2012及其…

Java 实现Rtsp 转rtmp,hls,flv

服务支撑&#xff1a;FFmpeg srs(流媒体服务器) 整个流程是 FFmpeg 收流转码 推 rtmp 到流媒体服务 流媒体服务再 分发流到公网 搭建流媒体服务: 1. SRS (Simple Realtime Server) | SRS &#xff08;本例子使用的是SrS 安装使用docker &#xff09; 2.GitHub - ZLMedi…

python菱形问题

Python类分为两种&#xff0c;一种叫经典类&#xff0c;一种叫新式类。都支持多继承&#xff0c;但继承顺序不同。 新式类&#xff1a;从object继承来的类。&#xff08;如:class A(object)&#xff09;&#xff0c;采用广度优先搜索的方式继承&#xff08;即先水平搜索&#…

【二分答案】CF803 D

感觉之前的*1900好简单 Problem - D - Codeforces 题意&#xff1a; 思路&#xff1a; 注意到宽度具有单调性&#xff0c;考虑二分宽度 然后限制了最大宽度&#xff0c;要使行数 < k 那么在check里贪心&#xff0c;每行选的尽可能多 考虑双指针&#xff0c;每次选长度…

Spring MVC相关知识点

1.Spring MVC的理解&#xff1f; 首先&#xff0c;MVC模型是模型&#xff0c;视图&#xff0c;控制器的简写&#xff0c;其思想核心是通过将请求处理控制&#xff0c;业务逻辑&#xff0c;数据封装&#xff0c;数据显示等流程节点分离的思想来组织代码。 所以&#xff0c;MVC…

SpringBoot复习:(47)ConfigFileApplicationListener

它监听ApplicationEnvironmentPreparedEvent和ApplicationPreparedEvent。 它会把配置文件中配置的内容注入到环境中去&#xff0c;配置文件也就生效了

融云荣获「2023 中国数字生态通信领军企业」奖

融云北极星如何协助开发者排查问题和预警风险&#xff1f; 8月17日直播课&#xff0c;点击上方报名~ 由 B.P 商业伙伴主办的“2023 数字生态大会”于 8 月 4 日在京举行&#xff0c;融云携数智办公解决方案受邀参展&#xff0c;并获“2023 中国数字生态通信领军企业”奖。关注【…

详解VCC、VDD、VEE、VSS

VCC、 VDD、VEE、VSS 版本一&#xff1a; 简单说来&#xff0c;可以这样理解&#xff1a; 一、解释 VCC&#xff1a;Ccircuit 表示电路的意思, 即接入电路的电压&#xff1b; VDD&#xff1a;Ddevice 表示器件的意思, 即器件内部的工作电压&#xff1b; VSS&#xff1a;Sser…

vue3+element-plus组件下拉列表,数组数据转成树形数据

引入组件 可以直接在项目中引入element-plus表格组件&#xff0c;如果需要变成下拉列表样式需要添加以下属性&#xff1a; row-key 必填 最好给数字或唯一属性 &#xff0c; 给每个节点设置id 不填的话 没有办法实现展开效果 load 这个是动态添加数据的 前提&#xff08;开启…

使用MyEclipse如何部署Descriptor (XML)编辑器?

Descriptor (XML) Editor编辑器包含了高级的XML编辑功能&#xff0c;在本文中您将了解到这些编辑功能、Web XML编辑等&#xff0c;此功能包含在MyEclipse中可用。 MyEclipse v2023.1.2离线版下载 1. Web XML 编辑器 MyEclipse Web XML编辑器包括高级XML编辑功能&#xff0c;…

最新AI创作系统ChatGPT程序源码+详细搭建部署教程+微信公众号版+H5源码/支持GPT4.0+GPT联网提问/支持ai绘画+MJ以图生图+思维导图生成!

使用Nestjs和Vue3框架技术&#xff0c;持续集成AI能力到系统&#xff01; 新增 MJ 官方图片重新生成指令功能同步官方 Vary 指令 单张图片对比加强 Vary(Strong) | Vary(Subtle)同步官方 Zoom 指令 单张图片无限缩放 Zoom out 2x | Zoom out 1.5x新增GPT联网提问功能、手机号注…

深入了解 Postman Test 校验的使用方法

Postman 是一个广泛使用的 API 开发工具&#xff0c;它允许开发人员测试 API 的各个方面&#xff0c;包括请求、响应、身份验证等等&#xff0c;其中最常用的功能之一就是 Test 校验。那今天就一起来看看 Postman 的 Test 校验该如何使用。 Test 校验是什么&#xff1f; Test…

【Spring】浅谈spring为什么推荐使用构造器注入

目录 一、前言 二、常见的三种注入方式 2.1 field注入 2.2 构造器注入 2.3 setter注入 三、构造器注入的好处 四、答疑 五、总结 一、前言 ​ Spring框架对Java开发的重要性不言而喻&#xff0c;其核心特性就是IOC&#xff08;Inversion of Control&#xff0c; 控制反转&…

RunLoop

1.CFRunLoopModeRef特征代表RunLoop对象内的运行模式(每个RunLoop对象内存中存在很多种运行模式,每个Mode运行模式下必然包含若干个有效的Source0/Source1/Timer/Observer数据序组) 2.RunLoop对象活跃(操作)启动时能且仅能选择某个Mode匹配currentMode(暗示Loop对象的操作运行必…

分类预测 | MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元多输入分类预测

分类预测 | MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元多输入分类预测 目录 分类预测 | MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元多输入分类预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.Matlab实现BO-BiGRU贝叶斯优化双向门控循环单元多特征分…

2.1.2 VisionOS——VisionOS 中的窗口化应用程序

在visionOS中&#xff0c;用户可以使用窗口来呈现2D或3D内容&#xff0c;或者使用体积来呈现3D内容和对象。Unity 将这些窗口中的应用程序描述为“窗口应用程序”。 默认情况下&#xff0c;如果您构建针对visionOS 平台的Unity 应用程序而未通过XR 插件管理器启用PolySpatial …

React - useEffect函数的理解和使用

文章目录 一&#xff0c;useEffect描述二&#xff0c;它的执行时机三&#xff0c;useEffect分情况使用1&#xff0c;不写第二个参数 说明监测所有state&#xff0c;其中一个变化就会触发此函数2&#xff0c;第二个参数如果是[]空数组&#xff0c;说明谁也不监测3&#xff0c;第…