当前位置: 首页 > article >正文

刷题笔记 动态规划-1 动态规划理论基础

一、动态规划题目类型

1.动规基础题目

包括常见的斐波那契数列、爬楼梯

2.背包问题

经典动归,面试常考。包括背包、完全背包和多重背包

3.打家劫舍

力扣上只有三道,但比较经典,尤其是最后一道树形动规

4.股票问题

经典系列问题

5.子序列问题

经典问题,包括子序列、连续子序列、编辑距离问题和回文子序列

6.其他:例如区间动规、概率动规

这些是拔尖的,至少我用不到

二、动态规划五部曲

1.确定dp数组定义以及下标含义

2.递推公式

3.初始化方式

4.遍历顺序

5.举例推导(打印DP数组)

1.为什么先确定递推公式再初始化

因为一些情况是递推公式决定了dp数组要如何初始化!(代码随想录)

但递推公式并不代表一切,初始化顺序很考究

2.TIPS and debug

1.做动规的题目,写代码之前一定要把状态转移在dp数组的上具体情况模拟一遍,心中有数,确定最后推出的是想要的结果。

2.找问题的最好方式就是把dp数组打印出来,看看究竟是不是按照自己思路推导的!

3.debug三问:

  • 这道题目我举例推导状态转移公式了么?
  • 我打印dp数组的日志了么?
  • 打印出来了dp数组和我想的一样么?

http://www.kler.cn/a/535562.html

相关文章:

  • 旅行社项目展示微信小程序功能模块和开发流程
  • 【容器技术01】使用 busybox 构建 Mini Linux FS
  • JS:将JS对象格式化为php语法形式(完美支持无unicode编码匹配的正则)
  • 【教程】docker升级镜像
  • 2025职业发展规划
  • 2.6-组合博弈入门
  • SpringBoot3整合Swagger3时出现Type javax.servlet.http.HttpServletRequest not present错误
  • 用Python获取股票数据并实现未来收盘价的预测
  • WPS计算机二级•幻灯片放映与会议
  • 专为RAG和AGENT而生的PDF解析新工具:PymuPDF4LLM
  • JVM 性能调优与垃圾回收机制
  • 【创建模式-单例模式(Singleton Pattern)】
  • 【Elasticsearch】ip range 聚合
  • 华为支付-免密支付接入免密代扣说明
  • linux shell 编程之运算符详解_shell运算符
  • C语言第七课:结构体与联合体
  • nginx+flume网络流量日志实时数据分析实战_日志数据分析
  • 2025-2-5算法打卡
  • 文件基础IO
  • SRS分析及低延迟实现机制
  • Mac 部署Ollama + OpenWebUI完全指南
  • Linux 内核模块 | 加载 / 添加 / 删除 / 优先级
  • Python aiortc API
  • Redis单线程架构
  • Redis - 全局ID生成器 RedisIdWorker
  • TypeScript+React+Redux:类型安全的状态管理最佳实践