【动态规划算法】第五题:62.不同路径

news2024/12/24 8:59:27

💖作者:小树苗渴望变成参天大树
🎉作者宣言:认真写好每一篇博客
🎊作者gitee:gitee
💞作者专栏:C语言,数据结构初阶,Linux,C++ 动态规划算法
在这里插入图片描述
如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点 点 关 注 吧!

文章目录

  • 前言


前言

今天博主来更新动态规划算法的第五题了,相比较前面的两题,这个题目还是比较容易理解的,题目看上去难,但是用动态规划就特别容易,我们一起来进入讲解吧


第五个题目是不同路径
在这里插入图片描述

图解:在这里插入图片描述
这题理解起来不难,我直接用动态规划的步骤给大家讲解:

  1. 状态表示:经验+题目要求
    因为这是一个二维图形了,又有横坐标,又有竖坐标,所以一个变量是不够的,以(i,j)位置为结尾,dp[i][j]表示:从起点到(i,j)位置的有多少种方法

  2. 状态转移方程:以最近位置的状态来算当前位置的状态
    在这里插入图片描述
    根据图解状态转移方程为dp[i][j]==dp[i-1][j]+dp[i][j-1];

  3. 初始化:保证数组不越界
    在这里插入图片描述
    我们只需要多开辟一行和一列,作为虚拟节点就可以解决初始化繁琐的是

  4. 填表顺序:从下往下写每一行,每一行从左往右

  5. 返回值:根据上面的图解:下标的映射关系,返回dp[m][n];

代码实现:

class Solution {
public:
    int uniquePaths(int m, int n) {
        //1.创建dp表
        vector<vector<int>> dp (m+1,vector<int>(n+1));//多创建一行一列,为了把初始化工作放在填表里面
        //2.初始化
        dp[1][0]=1;
        //3.填表顺序
        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];
         //4返回值
        return dp[m][n];
    }
};

运行结果:
在这里插入图片描述

今天的题目就讲解完毕了,把上一题的处理边界及初始化问题再次使用到了,题目理解了就不难,希望大家下去可以学会这种做题的方法,我们下题再见
在这里插入图片描述

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

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

相关文章

查看虚拟机主机IP

虚拟机主机ip 文章目录 ifconfigip addr图形化界面 ifconfig 失败了 ip addr 图形化界面

动手学DL——环境部署随笔【深度学习】【Anaconda】【CUDA】【PyTorch】【jupyter】

文章目录 1、环境部署1.1、安装 Anaconda1.2、安装 GPU版 PyTorch1.3、安装结束1.4、 jupyter 连接虚拟环境 1、环境部署 记录虚拟环境安装部署细节&#xff0c;以备重装。 1.1、安装 Anaconda anaconda 2022.10 windows 版本,https://repo.anaconda.com/archive/ 加入环境变量…

如何在 Django框架下完成 websocket 连接 在 Heroku 上部署 websocket 应用

文章目录 websocket 和 socket 连接的区别与 Django 建立 websocket 连接ASGI v.s. WSGIDjango > 3.0ChannelsDaphnesettings.pyconsumers.py & routing.py 测试 websocket 连接postman Heroku 部署 websocket 应用asgi.pyProcfile websocket 和 socket 连接的区别 Webs…

TLS、SSL、CA 证书、公钥、私钥

1. HTTP 的问题 HTTP 协议是超文本传输协议&#xff08;Hyper Text Transfer Protocol&#xff09;的缩写&#xff0c;它是从 WEB 服务器传输超文本标记语言 HTML 到本地浏览器的传送协议。HTTP 设计之初是为了提供一种发布和接收 HTML 页面的方法&#xff0c;时至今日&#x…

计算机组成原理(期末或考研备考)- 主存储器,DRAM,SRAM,ROM

讲解视频 SRAM VS DRAM DRAM工作原理 DRAM采用栅极电容上的电荷存储信息&#xff0c;由于DRAM上的电容电荷一般只能维持1-2ms&#xff0c;即使电源不断电&#xff0c;信息也会自动消失。因此每隔一定时间必须刷新。 集中刷新&#xff0c;利用固定的时间对所有的行进行刷新&am…

程序员和网络安全的优劣势一览表

程序员的优点&#xff1a; 学的都是计算机基础和一些程序语言&#xff0c;入门比较简单&#xff0c;无论什么行业参加几个月的培训找到一份月薪5K的工作还是没有问题的&#xff0c;人才的需求量虽然没有之前多&#xff0c;但是对真正有技术的人才需求还是挺大的。 程序员的缺…

Python_魔法属性和方法

目录 魔法属性 __doc__ __moudle__ __class__ __name__ __dict__ 魔法方法 __new__() __init__ () __del__() __call__() __str__ () __getitem__()&#xff0c;__setitem__(),__delitem__() __setattr__()、__getattr__&#xff08;&#xff09; __iter__() …

构建LLM应用你所要知道的事情;Midjourney可以生成图片外的场景

&#x1f989; AI新闻 &#x1f680; AI作画工具Midjourney推出新功能"Pan"&#xff0c;可以生成图片外的场景 摘要&#xff1a;AI作画工具Midjourney最近推出了"pan"功能&#xff0c;用户可以通过控制输入框中的"上下左右"来平移图片以生成场…

【案例】VR全景图:效果+源码

狠人话不多说,直接放视频效果地址 一、效果 1.视频效果 视频效果地址:点击这里 2.图片效果 二、构思 该怎么实现?页面如何布局页面是否可随意控制显示1.功能 控制页面显示数量可放大控制全景图+自动播放左右按钮控制上一页或下一页(尾页:下一页按钮隐藏,首页:上一页按…

Spring Boot 中的熔断器:原理和使用

Spring Boot 中的熔断器&#xff1a;原理和使用 什么是熔断器&#xff1f; 熔断器是一种用于处理分布式系统中故障的设计模式。它可以防止出现故障的服务对整个系统造成连锁反应。熔断器通过监控故障服务的调用情况&#xff0c;当故障服务出现问题时&#xff0c;熔断器会迅速…

【vue】Vue3中使用函数调用组件内函数和创建组件【超详细】

uniappuview vue3typescript版本&#xff0c;使用函数方式调用和创建组件&#xff0c;并使用组件内的方法 项目场景 今天突然觉得在视图上应用组件&#xff0c;然后在script脚本里操作组件这方式特别的麻烦。因为每次使用组件时都要进行应用&#xff0c;不管你用不用你都要引…

TDengine“露面”中国油气田企业智慧油田技术交流大会,为时序数据处理带来全新思路

2023 年 7 月 4 日- 6 日&#xff0c;由中国石油和化学工业联合会主办&#xff0c;中国石油油气和新能源分公司、中国石化油田勘探开发事业部、中国海洋石油有限公司勘探开发部协办的“中国油气田企业智慧油田技术交流大会”在北京市召开。本次大会邀请了中国石油、中国石化、中…

Android Studio实现内容丰富的安卓房屋出租租赁平台

如需源码可以添加q-------3290510686&#xff0c;也有演示视频演示具体功能&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动。 项目编号063 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看租房列表…

SSMP整合案例(12) 在界面中实现删除操作

接下来我们来说删除 首先 我们要在表格上加上删除和修改两个操作按钮 我们先在App.vue页面部分编写 参考代码如下 <el-table-columnalign"right"label"操作" ><template slot-scope"scope"><el-buttonsize"mini"type…

王道考研数据结构——基本概念

06 算法的时间复杂度 线性的时间复杂度 O(n^3)O(n^2*logn) O(n^3) O(logN) 无法确定&#xff0c;和输入的数据量有关系&#xff0c;使用平均复杂度&#xff1a; 最坏/平均时间复杂度 07 算法的空间复杂度 S(n)n S(n)O(n^2) 刷题&#xff1a; O(n^3) 答案&#xff1a; B…

Maven 配置本地jar,通过下载第三方jar包,然后手动配置maven jar包依赖 例如:IKExpression

说明&#xff1a;有时候有一些jar包 maven中央仓库和阿里云仓库没有收录的jar包需要手动下载至本地进行手动添加maven依赖&#xff0c;就拿 IK表达式 IKExpression jar 包来说 第一步 下载IKExpression 包 没有这个包的同学可以点击下载阿里云盘分享 第二步 找到自己项目本地…

vue3+elementUiplus开发的项目如何修改公共标签的默认颜色

背景:使用elementUiplus开发路由菜单栏需要更改默认颜色 步骤: 查看用到的变量 如:var(–el-menu-bg-color); 修改: index.scss文件下进行style的修改 :root {--el-color-primary: #0cba80 !important; // 主题色--el-color-primary-dark-2: #0cba80 !important;--el-color-…

datagrip連接mysql數據連接不上

昨天使用datagrip進行數據庫的連接時發現遲遲連接不上&#xff0c;問了老大才發現問題是&#xff1a; 在host中是無需要加入jdbc:mysql://這些的&#xff0c;只需要將wiltechs-based…放入host中即可

3D点云实战案例

sd推荐免费3D场景建模工具&#xff1a;NSDT场景编辑器 CloudCompare是一个三维点云&#xff08;网格&#xff09;编辑和处理软件。最初&#xff0c;它被设计用来对稠密的三维点云进行直接比较。它依赖于一种特定的八叉树结构&#xff0c;在进行点云对比这类任务时具有出色的性…

vue前端权限控制设计

概述 vue前端和后端程序是分离开发的&#xff0c;既然是分离的&#xff0c;vue前端怎么进行用户权限控制呢&#xff1f;本文介绍vue前端权限控制的方法&#xff0c;包括后端接口访问权限、页面操作按钮的权限、菜单的查看权限和vue路由的访问权限。 后端接口的访问权限 后端…