织梦网站模板视频教程宠物 wordpress

news/2025/9/24 8:21:20/文章来源:
织梦网站模板视频教程,宠物 wordpress,劳务工程信息平台,手机版网站设计文章目录 写在前面Tag题目1方法一#xff1a;动态规划方法二#xff1a;空间优化 题目2方法一#xff1a;动态规划空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法#xff0c;两到三天更新一篇文章#xff0c;欢迎催更…… 专栏内容以分析题目为主… 文章目录 写在前面Tag题目1方法一动态规划方法二空间优化 题目2方法一动态规划空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法两到三天更新一篇文章欢迎催更…… 专栏内容以分析题目为主并附带一些对于本题涉及到的数据结构等内容进行回顾与总结文章结构大致如下部分内容会有增删 Tag介绍本题牵涉到的知识点、数据结构题目来源贴上题目的链接方便大家查找题目并完成练习题目解读复述题目确保自己真的理解题目意思并强调一些题目重点信息解题思路介绍一些解题思路每种解题思路包括思路讲解、实现代码以及复杂度分析知识回忆针对今天介绍的题目中的重点内容、数据结构进行回顾总结。 Tag 【动态规划-空间优化】【网格】 题目1 62. 不同路径 方法一动态规划 本题是解题思路与 【面试经典150 | 动态规划】最小路径和 类似。 定义状态 定义 f[i][j] 表示机器人从网格左上角 (0, 0) 到位置 (i, j) 可以行走的不同位置数量。 转移关系 根据 “机器人每次只能向下或者向右移动一步”可知到达 (i, j) 位置可以从 (i-1, j) 或 (i, j-1) 行走到达于是有转移关系 f [ i ] [ j ] f [ i − 1 ] [ j ] f [ i ] [ j − 1 ] f[i][j] f[i-1][j] f[i][j-1] f[i][j]f[i−1][j]f[i][j−1] base case 因为 “机器人每次只能向下或者向右移动一步”所以机器人从 (0, 0) 位置到第 0 行、第 0 列的不同路径数均为 1。 最后返回 最后返回 f[m-1][n-1]表示机器人从网格左上角 (0, 0) 到网格右下角 (m-1, n-1) 可以行走的不同路径数量。 实现代码 class Solution { public:int uniquePaths(int m, int n) {vectorvectorint f(m, vectorint(n));for (int i 0; i m; i) {f[i][0] 1;}for (int j 0; j n; j) {f[0][j] 1;}for (int i 1; i m; i) {for (int j 1; j n; j) {f[i][j] f[i - 1][j] f[i][j - 1];}}return f[m - 1][n - 1];} };复杂度分析 时间复杂度 O ( m n ) O(mn) O(mn) m m m 为网格的行数 n n n 为网格的列数。 空间复杂度 O ( m n ) O(mn) O(mn)。 方法二空间优化 仿照 【面试经典150 | 动态规划】最小路径和 中空间优化的思想可以对朴素的动态规划法进行类似的空间优化。具体实现见代码。 实现代码 class Solution { public:int uniquePaths(int m, int n) {int more max(m, n);int less min(m, n);vectorint f(less, 1);for (int i 1; i more; i) {for (int j 1; j less; j) {/*f[j] f[j] f[j-1] 第二个f[j] 表示从上一行向下到达位置(i,j)f[j-1] 表示从上一列向右到达位置(i,j)*/ f[j] f[j-1]; }}return f[less-1];} };复杂度分析 时间复杂度 O ( m n ) O(mn) O(mn) m m m 为网格的行数 n n n 为网格的列数。 空间复杂度 O ( m i n { m , n } ) O(min\{m,n\}) O(min{m,n})。 题目2 63. 不同路径 II 方法一动态规划空间优化 对比上一个题目本题增加了障碍物解法上与上题基本一致。但是有几处变动 遇到障碍物时 f [ i ] [ j ] 0 f[i][j]0 f[i][j]0本题只需要考虑没有遇到障碍物即 o b s t a c l e G r i d [ i ] [ j ] ! 1 obstacleGrid[i][j] ! 1 obstacleGrid[i][j]!1 时的不同路径数的问题此时的状态转移方程也和上题一致。 朴素的动态规划方法 直接给出朴素的动态规划解法。 class Solution { public:int uniquePathsWithObstacles(vectorvectorint obstacleGrid) {int m obstacleGrid.size(), n obstacleGrid[0].size();vectorvectorint f(m, vectorint(n));f[0][0] obstacleGrid[0][0] 1 ? 0 : 1;// 初始化第 0 行for(int j 1; j n; j) {if (obstacleGrid[0][j] ! 1) {f[0][j] f[0][j-1];}}// 初始化第 0 列for (int i 1; i m; i) {if (obstacleGrid[i][0] ! 1) {f[i][0] f[i-1][0];}}// 计算一般位置for (int i 1; i m; i) {for(int j 1; j n; j) {if (obstacleGrid[i][j] ! 1) {f[i][j] f[i-1][j] f[i][j-1];}}}return f[m-1][n-1];} };空间优化 先贴出代码 class Solution { public:int uniquePathsWithObstacles(vectorvectorint obstacleGrid) {int m obstacleGrid.size(), n obstacleGrid[0].size();int more max(m, n), less min(m, n);bool rowMore (more m);vectorint f(less);f[0] (obstacleGrid[0][0] 0);for (int i 0; i more; i) {for (int j 0; j less; j) {if ((rowMore obstacleGrid[i][j] 1) || (!rowMore obstacleGrid[j][i] 1)) {f[j] 0;continue;}if ((rowMore j-1 0 obstacleGrid[i][j-1] 0) || (!rowMore j-1 0 obstacleGrid[j-1][i] 0)) {f[j] f[j-1];}}}return f[less-1];} };我们使用布尔变量 rowMore 来表示网格的行数是都大于列数 如果行数大于等于列数则有 rowMore true此时按行更新 f如果 (i, j) 位置有障碍物则更新 f[j] 0如果前一列的位置没有障碍物则可以从前一列到达本列更新 f[j] f[j] f[j-1]其中第二个 f[j] 表示上一行的位置 (i-1, j) 的不同路径数。如果行数小于列数则有 rowMore false此时按列更新 f如果 (j, i) 位置有障碍物则更新 f[j] 0如果前一行的位置没有障碍物则可以从前一行到达本行更新 f[j] f[j] f[j-1]其中第二个 f[j] 表示上一列的位置 (j, i-1) 的不同路径数。可能会有点绕读者还需多多阅读体会。如果实现想不明白可以直接按照行来更新 f这样空间复杂度为 O ( n ) O(n) O(n)。 复杂度分析 时间复杂度 O ( m n ) O(mn) O(mn) m m m 为网格的行数 n n n 为网格的列数。 空间复杂的经过空间优化后的空间复杂度为 O ( m i n { m , n } ) O(min\{m,n\}) O(min{m,n})。朴素动态规划的时间复杂度为 O ( m n ) O(mn) O(mn)。 写在最后 如果您发现文章有任何错误或者对文章有任何疑问欢迎私信博主或者在评论区指出 。 如果大家有更优的时间、空间复杂度的方法欢迎评论区交流。 最后感谢您的阅读如果有所收获的话可以给我点一个 哦。

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

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

相关文章

杭州九鸿科技网站开发威海建设集团网站首页

有如下的实体对象 public class BookEntity {private String desc; }查询操作的时候会报错SQL错误 解决方法 在字段属性上加注解,用反引号包裹属性值 public class BookEntity {TableField("desc")private String desc; }参考 解决MySQL 中使用index…

多人视频网站开发公司厦门建设局

本文简要介绍我们刚刚被WSDM2021会议录用并即将发表的论文"Time-Series Event Prediction with Evolutionary State Graph"(论文地址),在文中我们提出了一种将时序转化为图进行表示建模的方法。同时我们把所实现的方法落地为阿里云SLS的智能巡检服务&…

科技公司网站模板官网wordpress用户注册设置

目录 三、存储虚拟化(一)存储虚拟化的一般模型(二)存储虚拟化的实现方式(三)案例分析 四、网络虚拟化(一)核心层网络虚拟化(二)接入层网络虚拟化(…

h5平台网站开发百度网址大全简单版

java springmvc 注册中央调度器代码解析发布时间:2020-08-22 20:58:23来源:脚本之家阅读:107作者:荆棘人这篇文章主要介绍了java springmvc 注册中央调度器代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工…

校园网网站的安全建设方案上海网站开发与

一、实验拓扑 二、实验目的 PVLAN可以通过主VLAN和辅助VLAN的概念,部署隔离技术,实现用户间的互访控制。 三、实验配置 SW2 Ruijie >enable Ruijie #configure terminal Ruijie (config)#vlan 20 Ruijie (config-vlan)#private-vlan community …

南宁网站设计平台网站权限怎么设置

5月已经过去,同时也标志着今年上半年手机的发布已经告一段落。那么在这段时间里,智能手机的性价比如何呢?考虑到现在已经开始步入5G时代,所以智能手机的价格也是普遍上涨,想要找到一款性价比不错的手机似乎有些难度。现…

资阳网站优化网站的维护和建设

文章目录 Intro解决流程总结前置信息了解npm 镜像源三个要用到的npm命令 官方源确认查看当前镜像源的详情解决: 切换镜像源后重试重新操作 事后感受 Intro 事由是今天我在用 create-react-app 新建一个用于测试的前端项目。 然后就出现以下报错: wuyuj…

NeurIPS 2025 spotlight |FSDrive 自动驾驶最新VLA+世界模型 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站制作中山一个网站上面有名优

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼6楼兄弟谢了哈。可以啦!!!!哈哈,开心啊、//1900年1月1日是星期一//所以从1900年1月1日算起#include int fun(int year);int main(){int year,month,day;int i;int ts1[]{31,28,31,30,31,30,31,31,30,31,30,31}; //非…

宁波网站推广规划深圳宝安做网站

MSWORLD 题目大意: 在一个图上有n个点,现在问你最远的两个点的直线距离的平方是多少 输入样例 4 0 0 0 1 1 1 1 0输出样例 2样例解释: 农场1(0,0)和农场3(1,1)的距离为 2的开方。 数据范…

菏泽市建设职工培训中心网站crm客户管理系统官网

前言 默认情况下,我们在PHP里使用echo等函数输出的内容,是不会马上发送给前端的,原因是有 buffer 的存在,buffer又分两处,一处是PHP本身的buffer,另一处是Nginx的buffer。只有当buffer满了之后&#xff0c…

婚纱照网站制作租赁合同模板

交换机: 分类: 根据交换方式划分: 1.存储转发交换:交换机对输入的数据包先进行缓存、验证、碎片过滤,然后进行转发。 时延大,但是可以提供差错校验,并支持不同速度的输入、输出端口间的交换…

昆明门户网站宿州市做网站建设的公司

Docker 入门使用说明 Docker 安装 Docker 官网:Docker Docker 安装说明:Docker 安装说明 这里由于 Docker 在实时更新,所以每次安装 Docker 用来导入 key 的链接可能会有变化,这里就参考官方的安装方法即可 Docker 常用命令说…

最新获取网站访客qq接口建设企业银行app官方下载

回滚整个事务要怎么清除 binlog 日志,InnoDB 又会进行哪些操作? 作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。 爱可生开源社区出品,原创内容未经授…

网站设计的灵感来源网站建设需要些什么

随着数字化时代的不断深入,数据隐私保护已经成为了人们越来越关注的焦点之一。而在这个数字化时代的新篇章中,Web3技术作为下一代互联网的代表,正在为数据隐私保护带来全新的创新和可能性。本文将深入探讨数据隐私的重要性,Web3时…

网站建设 核算外贸公司推广

本文主要从 单特征分析,多特征筛选,特征监控,外部特征评估的几个方面对特征数据进行阐述。 来源 : 特征筛选_特征覆盖度怎么算_adamyoungjack的博客-CSDN博客 1. 单特征分析 1.1 简介 好特征可以从几个角度衡量:覆…

主要测试的测试用例

1. 内核态性能测试 # 测试要求# 测试用例步骤 0. 检查BIOS配置,确认设置满足场景要求(NUMA开启和关闭两种场景(海光平台覆盖channel/die),其余设置,请严格按照阿里招标参数BIOS出厂设置定制需求) 1.在被测端和辅…

成都h5模板建站动易网站管理系统教程

远程仓库的使用 要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写。同他人协作开发某个项目时,需要管理这些远程仓…

详细介绍Seata的AT模式分布式事务

一、在Seata的AT模式中,事务的提交也是分成了2阶段的 一阶段 1、RM 针对本次要执行的本地事务的SQL进行解析,得到SQL的类型、修改的表以及where条件等信息 2、RM 根据 SQL 解析的结果,先进行一次查询,根据查询结果…