力扣算法刷题Day39|动态规划:不同路径 III

news/2024/11/27 4:39:56/

力扣题目:#62.不同路径

刷题时长:参考题解后10min

解题方法:动规

复杂度分析

  • 时间O(m*n)
  • 空间O(m*n)

问题总结

  • 初始化二维数组的python语法:i 对应 m,j 对应n
  • 二维遍历顺序,从上到下从左到右通过两层for循环实现,其中startindex应为1

本题收获

  • 动规思路
    • 确定dp数组及下标的含义:dp[i][j] 表示从(0,0)出发,到(i, j) 有dp[i][j]条不同的路径
    • 确定递推公式:dp[i][j] = dp[i - 1][j] + dp[i][j - 1]
    • dp数组的初始化:题目说只能往下或往右走,所以dp[i][0]都是1,因为从(0, 0)的位置到(i, 0)的路径只有一条。dp[0][j]同理都初始化为1
    • 确定遍历顺序:dp[i][j]都是从其上方和左方推导而来,那么从左到右一层一层遍历就可以保证推导dp[i][j]的时候,dp[i - 1][j] 和 dp[i][j - 1]一定是有数值的

力扣题目:#63. 不同路径 II

刷题时长:30min

解题方法:动规

复杂度分析

  • 时间O(m*n)
  • 空间O(m*n)

问题总结

  • 思路都对了,语法错误没debug出来,少了个break
  • 需提前判断边界情况,若起始位置和终止位置若有障碍物,直接返回0

本题收获

  • dp数组初始化:一旦遇到obstacleGrid[i][0] == 1的情况就停止dp[i][0]的赋值1的操作,dp[0][j]同理。因为从(0, 0)的位置到(i, 0)的路径只有一条,所以dp[i][0]一定为1,dp[0][j]也同理。但如果(i, 0) 这条边有了障碍之后,障碍之后(包括障碍)都是走不到的位置了,所以障碍之后的dp[i][0]应该还是初始值0。

http://www.ppmy.cn/news/477071.html

相关文章

H3C S5120端口镜像配置

2017/05/09 测试加密设备对音视频数据的加密情况&#xff0c;需要抓包&#xff0c;H3C交换机做端口镜像。记录如下&#xff1a; 1) 创建端口镜像组。 <SWITCH> system-view [SWITCH] mirroring-group 1 local 2) 配置镜像目的端口。 [SWITCH] mirroring-group 1 mon…

H3C 交换机S5130S软件版本升级

1.通过官网下载软件包 升级的包名为 S5130S_HI-CMW710-R6330.ipe 2. 查看FLASH空间是否足够 <H3C>dir /all Free的空间需要是软件包的2倍大小&#xff0c;例如S5130S_HI-CMW710-R6330.ipe软件包大小为54MB&#xff0c;那么交换机Free的空间需要108M。 空间如果…

C# PDF 静默打印

依赖安装 .net framework 3.5 通过NuGet安装 PdfiumViewerPdfiumViewer.Native.x86_64.v8-xfa 打印程序 using PdfiumViewer; using System; using System.Drawing.Printing;namespace Printer {class Program{static void Main(string[] args){string printerName "…

s5pv210之路(2) --- 固件烧写

1. 前言 在s5pv210之路(1) — 起源文章中下载到了开发板的资料&#xff0c;其中板卡相关的网盘中X210VS_A文件夹下有个x210v3裸机开发教程.rar&#xff0c;本文所述的大部分文件都包含在该压缩包中。解压后有个image文件夹&#xff0c;其中有编译好的bin文件&#xff0c;我们先…

P2032 扫描

扫描 题目描述 有一个 1 n 1 \times n 1n 的矩阵&#xff0c;有 n n n 个整数。 现在给你一个可以盖住连续 k k k 个数的木板。 一开始木板盖住了矩阵的第 1 ∼ k 1 \sim k 1∼k 个数&#xff0c;每次将木板向右移动一个单位&#xff0c;直到右端与第 n n n 个数重合…

帮助中心的设计指南

帮助中心是一个网站或应用程序的重要组成部分&#xff0c;因为它可以让用户轻松找到他们需要的信息。正确设计和实施一个高效的帮助中心可以确保用户满意度提高&#xff0c;并增加品牌忠诚度。本文将介绍如何设计一个优秀的帮助中心。 确定帮助中心的目标 在设计帮助中心之前&…

Python面向对象编程1-面向过程的简单纸牌游戏程序 项目1.5 抽两张牌比较大小

总项目目标&#xff1a;用面向过程思想设计一个简单的纸牌游戏程序&#xff0c;称为"Higher or Lower"&#xff08;高还是低&#xff09;。游戏中&#xff0c;玩家需要猜测接下来的一张牌是比当前牌高还是低。根据猜测的准确性&#xff0c;玩家可以得到或失去相应的积…

燃气管网监测系统助力天燃气管道安全运行

随着城市化的进程&#xff0c;燃气管道网络在各个城市中越来越密集&#xff0c;一旦发生燃气泄漏等安全事故&#xff0c;后果将不堪设想。因此&#xff0c;城市燃气管网的建设发展有赖于制定一个安全可靠的监控方案&#xff0c;以保障供气管道与用户安全。物联网技术的发展为城…