动态规划-不同路径

LCR 098. 不同路径 - 力扣(LeetCode)

对于动态规划类型的题目,可以从以下角度去思考问题

1. 状态表示

机器人在每一个网格节点的状态 dp[i][j]  ,可以理解从 起始点 为走到 [i,j] ,一共有多少种方式;

2. 状态转移方程

结合题意,机器人只可以往下走或者往右走,那么其实可以这样来理解:

图中的 robot 的位置,只能从 位置1 和 位置2 过来,那么换一个角度思考,从 起始点 到 robot 的位置的路径数,其实就是 起始点 到 位置1 的路径数 + 起始点 到 位置2 的路径数; 

也就可以写成转换方程:dp[i][j] = dp[i-1][j] (起始点到位置2的路径数) + dp[i][j-1] (起始点到位置1的路径数)

3. 初始化

进行初始化表格,在这个步骤中,就需要去填入一些初始节点的对应值,为了防止越界;

比如按照上述的状态转移方程,此时就会有一些节点是会越界的: 

 所以就是要去解决这些情况,而解决这个情况的方法也有两种:

1. 直接去把这几个节点的值给填上;

2. 扩充一下表,作为虚拟值;(下面讲的就是这种方式)

 4. 填表顺序

这种情况就是按照从上往下,从左往右进行填表,具体根据情况分析;

5. 返回值 

最后就返回需要返回的对应结果; 

6. 代码

class Solution {public int uniquePaths(int m, int n) {int[][] p = new int[m+1][n+1];p[0][1] = 1;for(int i=1 ; i<=m ; i++){for(int j=1 ; j<=n ; j++){p[i][j] = p[i-1][j] + p[i][j-1];}}return p[m][n];}
}

 

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

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

相关文章

vscode按ctrl+鼠标左键没反应

vscode按ctrl鼠标左键没反应 问题问题解决 问题 新买的阿里云服务器,在连接vscode后,按ctrl鼠标左键没反应,怎么办? 问题解决 你没有在vscode上安装c的相关插件,安装之后才可以实现按ctrl鼠标左键跳转到函数的定义

硬件设备杂记——12G SDI及 AES67/EBU

常见的 SDI线缆规格&#xff0c;HD-SDI又被称为1.5G-SDI&#xff0c;具体参数以秋叶原的参数为例 AES67/EBU 目前音频网络标准主要集中在OSI网络体系的第二层和第三层。 第二层音频标准的弊端在于构建音频网络时需要专用的交换机&#xff0c;无法利用现有的以太网络&#xff0c…

Matlab|【免费】【sci】考虑不同充电需求的电动汽车有序充电调度方法

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现sci文献《A coordinated charging scheduling method for electric vehicles considering different charging demands》&#xff0c;主要实现电动汽车协调充电调度方法&#xff0c;该方法主要有以…

Flask + Bootstrap vs Flask + React/Vue:初学者指南

在这篇博客文章中&#xff0c;我们将比较 Flask Bootstrap 和 Flask React/Vue 这两种技术栈&#xff0c;以帮助初学者了解哪种组合更适合他们的项目需求。我们将从学习曲线、易用性、依赖管理、构建部署和路由定义等方面进行比较。 学习曲线 Flask 是一个基于 Python 的轻…

【Unity】申请D-U-N-S邓氏编码流程

标题 在使用苹果开发者账号的时候&#xff0c;我们需要用到D-U-N-S邓氏编码&#xff0c;那如何申请呢&#xff1f;最近正好帮朋友申请了一个&#xff0c;接下来我来演示一下申请流程。 1.登录苹果开发者账号 登录连接&#xff1a;Apple Developer 没有账号的自己注册一个 2…

Python-VBA函数之旅-format函数

目录 一、format函数的常见应用场景&#xff1a; 二、format函数的语法结构&#xff1a; 1、format函数&#xff1a; 1-1、Python&#xff1a; 1-2、VBA&#xff1a; 2、推荐阅读&#xff1a; 个人主页&#xff1a;https://blog.csdn.net/ygb_1024?spm1010.2135.…

vivo怎么录屏?玩转手机新体验!(2024最新)

“最近新入手了一款vivo手机&#xff0c;感觉用起来真的很顺手&#xff0c;各种功能都很强大。昨天和朋友一起打游戏&#xff0c;突然想到要记录下精彩瞬间&#xff0c;但是找遍了手机&#xff0c;都没有找到录屏功能。我想请教一下各位vivo手机用户&#xff0c;你们通常在哪里…

深入剖析Tomcat(三) 实现一个简易连接器

Tomcat中的servlet容器叫做Catalina&#xff0c;Catalina有两个主要模块&#xff1a;连接器与容器。在本章&#xff0c;将会建立一个连接器来增强第二章中应用程序的功能&#xff0c;用一种更好的方式来创建request与response对象。 截止文章编写日期&#xff0c;servlet规范已…

网络流的C++代码实现与过程讲解

网络流是一种非常重要的图论算法,它在许多实际问题中得到广泛应用。本文将介绍网络流算法的C++代码实现与过程讲解。 算法概述 网络流算法是通过将图中的边看作流量通道,将图的点看作流量的起点或终点,来求解图中的最大或最小流量的问题。它是一种非常重要的最优化算法,广…

Python教学入门:列表与元组

列表&#xff08;Lists&#xff09;&#xff1a; 定义&#xff1a; 列表是 Python 中最常用的数据类型之一&#xff0c;用于存储一组有序的元素。列表使用方括号 [] 定义&#xff0c;元素之间用逗号 , 分隔。 特点&#xff1a; 列表是可变的&#xff08;Mutable&#xff09;…

Java梳理

梳理 1.ResponseBody return “hello world!” 当需要返回一个值的时候&#xff0c;需要使用到ResponseBody RestControllerControllerResponseBody 1.1没有Controller就不能写 GetMapping("/hello") public String sayHello() { return "Hello, wor…

HQL,SQL刷题,尚硅谷(中级)

目录 相关表结构&#xff1a; 1、order_info表 2、order_detail表 题目及思路解析&#xff1a; 第一题&#xff0c;查询各品类销售商品的种类数及销量最高的商品 第二题 查询用户的累计消费金额及VIP等级 第三题 查询首次下单后第二天连续下单的用户比率 总结归纳&#xff1a…

【双指针】

目录 1. LeetCode 283. 移动零 1.1 题目描述 1.2 题目思路 1.3 实现代码 2. LeetCode 1089. 复写零 2.1 题目描述 2.2 题目思路 2.3 实现代码 3. LeetCode 202. 快乐数 3.1 题目描述 3.2 题目思路 3.3 实现代码 4. LeetCode 11. 盛水最多的容器 4.1 题目描述 …

Debian12 中重新安装MSSQL 并指定服务器、数据库、数据表字段的字符排序规则和默认语言等参数

在 Linux 上配置 SQL Server 设置 - SQL Server | Microsoft Learn 零、查看sql server 服务器支持的字符排序规则 SELECT Name from sys.fn_helpcollations() where name Like Chinese% go------ Chinese_PRC_CI_AI Chinese_PRC_CI_AI_WS Chinese_PRC_CI_AI_KS Chinese_PRC_…

FPGA中闪灯程序设计示例

在FPGA设计中&#xff0c;闪灯的作用主要是用于测试和验证设计的功能和性能。具体来说&#xff0c;闪灯可以作为一个可视化的指示器&#xff0c;通过控制LED灯的闪烁模式和频率&#xff0c;来显示FPGA的工作状态或调试信息。 例如&#xff0c;在设计过程中&#xff0c;可以编写…

政安晨:【Keras机器学习示例演绎】(二)—— 使用 DeepLabV3+ 进行多类语义分割

目录 简介 下载数据 创建 TensorFlow 数据集 构建 DeepLabV3 模型 训练 利用色图叠加进行推理 对验证图像进行推理 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客能够对您有所裨益…

手动给docusaurus添加一个搜索

新版博客用docusaurus重构已经有些日子了&#xff0c;根据docusaurus的文档上也申请了Algolia,想一劳永逸的解决博客的搜索问题。但是流水有意&#xff0c;落花无情。 algolia总是不给我回复&#xff0c;我只能对着algolia的申请页面仰天长叹。 正常情况的申请 按照docusaur…

Gitlab: Python项目CI/CD实践

目录 1. 说明 2. 准备工作 2.1 服务器 2.2 开发机hosts文件 2.3 项目 3. 步骤过程 3.1 建仓Fastapi T1 3.2 开发机测试构建与推送 ​编辑 3.3 在工作站添加gitlab-runner 3.4 提交代码&#xff0c;查看Pipelines结果 3.5 观察部署情况 4. 参考 1. 说明 分别以一个…

【2024 SCI一区】 基于DCS-BiLSTM-Attention的多元回归预测(Matlab实现)

【2024 SCI一区】 基于DCS-BiLSTM-Attention的多元回归预测&#xff08;Matlab实现&#xff09; 目录 【2024 SCI一区】 基于DCS-BiLSTM-Attention的多元回归预测&#xff08;Matlab实现&#xff09;效果一览基本介绍程序设计参考资料 效果一览 基本介绍 差异创意搜索算法&…

C++ 静态成员函数(二)

一、访问静态成员变量 静态成员函数可以通过作用域运算符::来访问类的静态成员变量和静态成员函数 静态成员函数不属于任何特定的对象&#xff0c;而是属于整个类&#xff0c;可以通过类名直接调用&#xff0c;无需创建类的实例。静态成员函数不能访问类的非静态成员变量和非…