代码随想录算法训练营第四十二天|62.不同路径、63. 不同路径 II

代码随想录算法训练营第四十二天

62.不同路径

题目链接:62.不同路径

  1. 确定dp数组以及下标的含义:到[i,j]点位有dp[i,j]条路径
  2. 确定递推公式:每个点位都可以从它上面一个位置或者左边一个位置到达,所以路径数量等于上面位置的路径数量+左边位置的路径数量,dp[i,j] =dp[i][j-1]+dp[i-1][j]
  3. dp数组如何初始化:dp[i,0]和dp[j,0]都等于1
  4. 确定遍历顺序:从左上往右下遍历
  5. 打印dp数组。
class Solution {
public:int uniquePaths(int m, int n) {vector<vector<int>> dp(m,vector<int>(n,0));for (int i = 0; i < m; i++) {dp[i][0] = 1;}for (int j = 0; j < n; j++) {dp[0][j] = 1;}for(int i = 1;i<m;i++){for(int j = 1;j<n;j++){dp[i][j] = dp[i-1][j]+dp[i][j-1];}}return dp[m-1][n-1];}
};

63. 不同路径 II

题目链接:63. 不同路径 II

  1. 确定dp数组以及下标的含义:到[i,j]点位有dp[i,j]条路径
  2. 确定递推公式:每个点位都可以从它上面一个位置或者左边一个位置到达,所以路径数量等于上面位置的路径数量+左边位置的路径数量,dp[i,j] =dp[i][j-1]+dp[i-1][j],终点有障碍物的话到这个点的路径数量就是0
  3. dp数组如何初始化:dp[i,0]和dp[j,0]都等于1,如果最上面一行和最左面一排有障碍物,那障碍物后方可达的路径就全都是0了
  4. 确定遍历顺序:从左上往右下遍历
  5. 打印dp数组。
class Solution {
public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {int m = obstacleGrid.size();int n = obstacleGrid[0].size();if(obstacleGrid[m-1][n-1]==1||obstacleGrid[0][0] == 1)return 0;vector<vector<int>> dp(m,vector<int>(n,0));for (int i = 0; i < m; i++) {if(obstacleGrid[i][0]==1)break;dp[i][0] = 1;}for (int j = 0; j < n; j++) {if(obstacleGrid[0][j]==1)break;dp[0][j] = 1;}for(int i = 1;i<m;i++){for(int j = 1;j<n;j++){if(obstacleGrid[i][j]==1)dp[i][j] = 0;else dp[i][j] = dp[i-1][j]+dp[i][j-1];cout<<dp[i][j]<<endl;}}return dp[m-1][n-1];}
};

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

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

相关文章

在JavaScript中如何移除数组中的特定项

在日常开发中,我们经常需要从数组中移除某个特定的元素。在JavaScript中,存在多种不同的方法来完成这一任务,本文将总结几种常见的处理方式,并介绍它们的优缺点。 常规情况 1. 使用 .splice() 方法按值移除数组元素 是否修改原数组: 是是否移除重复项: 是(使用循环), 否…

IP协议说明

文章目录 前言一、IP协议的简介二、IP数据报1.IP 数据报结构2.IP 数据报的分片解析3.IP 数据报的分片重装 三、IP 数据报的输出四、IP 数据报的输入 前言 IP 指网际互连协议&#xff0c; Internet Protocol 的缩写&#xff0c;是 TCP/IP 体系中的网络层协议。设计 IP 的目的是…

python改进婚礼礼金请帖

# 改进婚礼礼金程序 # 。用“w”模式&#xff0c;打开一个文件“婚礼礼金.txt” # 。写一个while ture # 。请输入”姓名&#xff0c;礼金“&#xff0c;例如”小明 1000“ # 。将数据存储入文件中&#xff0c;每行一个数据 # 。输入quit 退出循环 # 。退出循环重新读取文件&am…

Python面试宝典:Python中与FastApi相关的面试笔试题(1000加面试笔试题助你轻松捕获大厂Offer)

Python面试宝典:1000加python面试题助你轻松捕获大厂Offer【第二部分:Python高级特性:第十六章:Web开发:第三节:FastApi】 第十六章:Web开发第三节:FastApi特性快速入门路径操作装饰器请求数据和类型转换响应模型依赖注入异步支持安全性和认证面试题1面试题2面试题3面试…

(二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数

104.二叉树的最大深度 104. 二叉树的最大深度 - 力扣&#xff08;LeetCode&#xff09; 代码随想录 (programmercarl.com) 后序遍历&#xff1a; class Solution {public int maxDepth(TreeNode root) {// 如果当前节点为空&#xff0c;深度为0if (root null) {return 0;}// …

SQL数据分析常用函数

SQL 中有许多常用的函数&#xff0c;可以用于处理和操作数据。以下是一些常见的SQL 函数&#xff1a; 1. 字符串函数&#xff1a; CONCAT(str1, str2, …): 用于把多个文本字符串合并成一个长字符串(参数中有null时返回null)。 select concat(一起,学, SQL); -- 输出结果:一…

#经验分享#学习方法

大鱼论文是一款强大的论文写作&#xff0c;查重降重工具&#xff0c;在众多同类软件中脱颖而出&#xff0c;备受好评。那么&#xff0c;大鱼论文究竟好不好用呢&#xff1f;让我们来看看。 首先&#xff0c;大鱼论文非常方便易用。只需简单几步&#xff0c;就可以上传文档进行…

RPC 框架

RPC 全称 Remote Procedure Call——远程过程调用。 RPC技术简单说就是为了解决远程调用服务的一种技术&#xff0c;使得调用者像调用本地服务一样方便透明。RPC是一种通过网络从远程计算机程序上请求服务&#xff0c;不需要了解底层网络技术的协议。 集群和分布式 集群&…

基于Freertos的工训机器人

一. 工训机器人 V1 1. 实物 将自制的F4开发板放置车底板下方&#xff0c;节省上方空间&#xff0c;且能保证布线方便整齐。 2. SW仿真 使用SolidWorks进行仿真&#xff0c;且绘制3D打印件。 工训仿真 3.3D打印爪测试 机械爪测试 二. 工训机器人 V2 1. 实物 工训机器人V2不同于…

【leetcode--138随机链表的复制】

给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每个新节点的值都设为其对应的原节点的值。新节点的 n…

用Spring Security快速实现 RABC模型案例

RABC模型通常是指“基于角色的访问控制”&#xff08;Role-Based Access Control&#xff0c;RBAC&#xff09;模型。这是一种广泛使用的访问控制机制&#xff0c;用于限制用户或系统对计算机或网络资源的访问。在RBAC模型中&#xff0c;权限与角色相关联&#xff0c;用户通过分…

国密协议网关与IPSec VPN技术:保障数据安全传输的新途径

国密协议网关IPSec VPN隧道技术是一种结合了国家密码管理局&#xff08;简称国密&#xff09;的加密算法和IPSec VPN隧道技术的安全通信解决方案。 IPSec&#xff08;Internet Protocol Security&#xff09;是互联网协议安全的一种标准&#xff0c;用于保护网络通信的安全性和…

共筑信创新生态:DolphinDB 与移动云 BC-Linux 完成兼容互认

近日&#xff0c;DolphinDB 数据库软件 V2.0 与中国移动通信集团公司的移动云天元操作系统 BC-Linux 完成兼容性适配认证。经过双方共同严格测试&#xff0c;DolphinDB 性能及稳定性等各项指标表现优异&#xff0c;满足功能及兼容性测试要求。 此次 DolphinDB 成功通过移动云 B…

铠侠KCD81PUG1T60 CD8P-V系列 PCIe5.0 NVMe2.0

铠侠KCD81PUG1T60是一款采用PCIe 5.0接口,符合NVMe 2.0规范的数据中心级固态硬盘。它采用了铠侠第5代BiCS FLASH TLC闪存颗粒,提供高达1.6TB的存储容量。 在性能方面,KCD81PUG1T60最高可达到1,600,000 IOPS的随机读取性能和300,000 IOPS的随机写入性能,在顺序读取方面更是可达…

微服务-Nacos-安装-集成SpringBoot

微服务-SpringCloud-ALibaba-Nacos Nacos 是阿里巴巴推出的 SpringCloud的组件 官网:什么是 Nacos 主要是为了解决微服务的架构中 服务治理的问题服务治理就是进行服务的自动化管理&#xff0c;其核心是服务的注册与发现。 服务注册&#xff1a;服务实例将自身服务信息注册…

使用BigDecimal定义的实体类字段返回给前台的是字符串类型,如何返回数字类型

目录 前言&#xff1a; 问题现象&#xff1a; 解决方法&#xff1a; 效果&#xff1a; 前言&#xff1a; 做项目的时候数据字段通常定义为bigdecimal类型&#xff0c;方便进行运算&#xff0c;但是发现接口调用后返回给前台的是字符串&#xff0c;这篇博文讲的是如何将定义…

1109 擅长C(测试点0,1,2,3)

当你被面试官要求用 C 写一个“Hello World”时&#xff0c;有本事像下图显示的那样写一个出来吗&#xff1f; ..C.. .C.C. C...C CCCCC C...C C...C C...C CCCC. C...C C...C CCCC. C...C C...C CCCC. .CCC. C...C C.... C.... C.... C...C .CCC. CCCC. C...C C...C C...C C…

【香橙派 AIpro】OrangePi AIpro :教育、机器人、无人机领域的超级AI大脑,华为昇腾处理器驱动的AI开发板新标杆

【OrangePi AIpro&#xff1a;教育、机器人、无人机领域的超级AI大脑&#xff0c;华为昇腾处理器驱动的AI开发板新标杆】 文章目录 一、开箱与初印象1. 初印象2. 上手开机3. 安装和运行 TightVNC 远程桌面3.1. 安装 TightVNC 服务器3.2. 启动 VNC 服务器3.3. 在 Windows 上使用…

Java 字符串处理

Java 是一种广泛使用的编程语言&#xff0c;而字符串处理是 Java 编程中非常重要的一部分。Java 提供了丰富的字符串操作功能&#xff0c;通过 String 类和 StringBuilder、StringBuffer 类来处理字符串。 一、Java 字符串的创建 1. 使用字面量 在 Java 中&#xff0c;字符串…

应急响应-网页篡改-技术操作只指南

初步判断 网页篡改事件区别于其他安全事件地明显特点是&#xff1a;打开网页后会看到明显异常。 业务系统某部分出现异常字词 网页被篡改后&#xff0c;在业务系统某部分网页可能出现异常字词&#xff0c;例如&#xff0c;出现赌博、色情、某些违法APP推广内容等。2019年4月…