【日常系列】LeetCode《30·动态规划总结》

news2024/11/28 9:33:17

动态规划总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

线性动态规划问题总结

打家劫舍总结

在这里插入图片描述
在这里插入图片描述

最大子数组和总结

在这里插入图片描述

dp[i] 依赖于前面一个或者两个状态

在这里插入图片描述
在这里插入图片描述

dp[i] 依赖于前面多个状态

注意:子序列可以不连续
在这里插入图片描述
在这里插入图片描述

dp[i] 带有一个或者多个维度

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

输入为两个数组或者两个字符串

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

lc 10【剑指 19】【top100】:正则表达式匹配
https://leetcode.cn/problems/regular-expression-matching/
保证每次出现字符 * 时,前面都匹配到有效的字符
在这里插入图片描述
在这里插入图片描述if s[i-1]=p[j-2] or p[j-2]‘.’:#注意".*"的情况

输入为矩阵

在这里插入图片描述
[i,j]为起点看[i+1][j]、[i][j+1]和[i+1][j+1]状态
[i,j]为终点看[i-1][j]、[i][j-1]和[i-1][j-1]状态

区间动态规划问题总结

在这里插入图片描述
例如,回文串问题

背包系列问题总结

线性动态规划问题:
    一、输入为一个数组或者一个字符串:
        (1). dp[i] 依赖于前面一个或者两个状态计算得到
            力扣 53. 最大子序和
            力扣 91. 解码方法
            力扣 152. 乘积最大子数组
            力扣 376. 摆动序列
            力扣 198. 打家劫舍
            力扣 213. 打家劫舍 II
            【新增】力扣 740. 删除并获得点数
            力扣 509. 斐波那契数
            力扣 70. 爬楼梯问题
            力扣 746. 使用最小花费爬楼梯
            【新增】力扣 413. 等差数列划分
            【新增】力扣 918. 环形子数组的最大和
        (2). dp[i] 依赖于前面多个状态计算得到
            力扣 300. 最长递增子序列 - Longest Increasing Subsequence (LIS)
            力扣 354. 俄罗斯套娃信封问题
            力扣 32. 最长有效括号
            力扣 139. 单词拆分
            【新增】力扣 673. 最长递增子序列的个数
            【新增】力扣 368. 最大整除子集
        (3). dp[i] 带有一个或者多个维度
            【新增】力扣 256. 粉刷房子
            【新增】力扣 410. 分割数组的最大值
            【新增】力扣 813. 最大平均值和的分组
            【新增】力扣 1027. 最长等差数列
            【新增】力扣 873. 最长的斐波那契子序列的长度
            【新增】力扣 1230. 抛掷硬币
            力扣 121. 买卖股票的最佳时机
            力扣 122. 买卖股票的最佳时机 II
            力扣 123. 买卖股票的最佳时机 III
            力扣 188. 买卖股票的最佳时机 IV
            力扣 309. 最佳买卖股票时机含冷冻期
            力扣 714. 买卖股票的最佳时机含手续费
    二、输入为两个数组或者两个字符串:
        (1). 经典 LCS 问题
            力扣 1143. 最长公共子序列(Longest Common Subsequence) (LCS)
            力扣 718. 最长重复子数组
            【新增】力扣 583. 两个字符串的删除操作
            【新增】力扣 712. 两个字符串的最小ASCII删除和
        (2). 字符串匹配问题
            力扣 10. 正则表达式匹配
            力扣 44. 通配符匹配
            力扣 72. 编辑距离
        (3). 其他
            力扣 97. 交错字符串
            【新增】力扣 115. 不同的子序列
    三、输入为矩阵:
        力扣 64. 最小路径和
        力扣 62. 不同路径
        力扣 63. 不同路径 II
        力扣 120. 三角形最小路径和
        力扣 97. 交错字符串
        【新增】力扣 931. 下降路径最小和
        力扣 221. 最大正方形

区间动态规划问题:
    一、回文问题
        力扣 5. 最长回文子串
        力扣 131. 分割回文串
        力扣 516. 最长回文子序列
        力扣 647. 回文子串
        【新增】力扣 132. 分割回文串 II
        【新增】力扣 1312. 让字符串成为回文串的最少插入次数
    二、其他
        力扣 486. 预测赢家
        【新增】力扣 312. 戳气球

背包系列问题:
    一、0-1 背包问题
        力扣 416. 分割等和子集
        力扣 494. 目标和
        【新增】力扣 1049. 最后一块石头的重量 II
    二、完全/多重背包问题
        力扣 139. 单词拆分
        力扣 279. 完全平方数
        力扣 322. 零钱兑换
        力扣 518. 零钱兑换 II
        力扣 377. 组合总和 Ⅳ
    三、二维费用背包
        力扣 474. 一和零
        【新增】力扣 879. 盈利计划

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

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

相关文章

【LeetCode每日一题:2309. 兼具大小写的最好英文字母~~~模拟+Hash表+贪心】

题目描述 给你一个由英文字母组成的字符串 s ,请你找出并返回 s 中的 最好 英文字母。返回的字母必须为大写形式。如果不存在满足条件的字母,则返回一个空字符串。 最好 英文字母的大写和小写形式必须 都 在 s 中出现。 英文字母 b 比另一个英文字母 …

Java生成微信小程序二维码,5种实现方式,一个比一个简单

文章目录前言先看官网一、JDK自带的URLConnection方式二、Apache的HttpClient方式三、okhttp3方式四、Unirest方式五、RestTemplate方式其它细节getAccessToken构建参数mapbyte[]数组源码下载前言 先介绍一下项目场景,主要是通过微信小程序二维码裂变分享&#xff…

一时重构一时爽,一直重构一直爽

笔者(后台技术汇)恭祝各位大佬:2023年春节快乐,兔年祥瑞。距离上次更新,已经过去5个月有余了,有小伙伴疑惑笔者是不是删库跑路了..其实不是,这段时间是在参加一次比较大的项目重构(目…

学习笔记 —— python代码耗时及内存占用测试方法

1、手写耗时测试 先看结果; 主要有三种方法,各自的时钟间隔如下: time.time() timeit time.time_ns() ( time is outputted in ns!). 可见方法2,即timeit 的时钟间隔最短。 注:最后一个是以ns为单位的,前两个是…

二叉树的概念与结构

文章目录前言一、树的概念及结构1.树的概念2.树的相关概念3.树的表示4. 树在实际中的运用二、二叉树概念及结构1.概念2.特殊的二叉树5.二叉树的性质6.二叉树的存储结构(1).顺序存储(2).链式存储结语前言 因为二叉树的知识点太多,一篇文章讲不…

《真象还原》读书笔记——第一章 部署工作环境

环境: 由于平时使用 windows 系统 所以 linux 环境 使用了 linux子系统。 $ cat /proc/version Linux version 4.4.0-22000-Microsoft (MicrosoftMicrosoft.com) (gcc version 5.4.0 (GCC) )1.1 工欲善其事 必先利其器 操作环境很重要呀。 1.2 编译器 GCC: gc…

Java 23种设计模式(8.结构型模式-桥接模式)

结构型模式-桥接模式 代码分析 类图 代码 public interface Implementor {void operation(); }public class ConcreteImplementorA implements Implementor{Overridepublic void operation() {System.out.println("A");} }public class ConcreteImplementorB imple…

(Java高级教程)第四章必备前端基础知识-第二节3:CSS盒模型和浮动

文章目录一:盒模型(1)border(2)padding(3)margin二:flex布局一:盒模型 盒模型:在HTML中,每个标签(或元素)相当于是一个盒…

DaVinci:色彩匹配

z调色页面:色彩匹配Color:Color Match色彩匹配 Color Match调板是专业的一级调色工具,专门用于对视频图像进行精准的校色还原。色彩匹配时,先定位到视频中持有色卡的画面。在检视器左下角快捷菜单中选择“色卡” Color Chart工具&…

C 语言零基础入门教程(十二)

C enum(枚举) 枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。 枚举语法定义格式为: enum 枚举名 {枚举元素1,枚举元素2,……};接下来我们举个例子,比如:一星期有 7 天,如果不用枚举&…

【Linux】vim编辑器的使用

文章目录vim的基本概念vim指令集复制粘贴撤销、剪切光标定位vim的基本概念 vim是一款多模式的编辑器,在我们常用的模式有3~5种。分别是命令模式(command mode)、插入模式(Insert mode)和底行模式( last lin…

【PHP 随记】—— ThinkPHP 配置数据库

👉总目录👈\large\colorbox{skyblue}{👉总目录👈}👉总目录👈​ 文章目录1、数据库连接及导入① 数据库连接② 数据库导入2、配置 ThinkPHP 数据库连接信息① 配置连接信息1、数据库连接及导入 ① 数据库连…

大数据分析案例-基于随机森林算法构建人口普查分析模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

Datawhale 202301 设计模式 | 人工智能 现代方法 习题

Exercise 1 绪论 Q:用您自己的话来定义:(a)智能,(b)人工智能,(c)智能体,(d)理性,(e)逻…

【大数据趋势】1月24日 流动、固定汇率和货币政策独立性三者的三者选二,A股持续的会上涨。

前言:昨天写的被朋友看到,认为我写的太水,故意不提日常讨论的那个关键指标,所以下午重新修改了一下。 确定欧美大势市场形态1 - 美元指数 关键位置大概率不会一次就破,有较强反弹可能,带动美股反弹 作为长…

MH-100X微波运动传感器介绍

MH-100X微波运动传感器简介微波运动传感器是利用多普勒雷达原理设计的微波移动物体探测器。不同于一般的红外探测器,微波传感器通过通过检测物体反射的微波来探测物体的运动状况,检测对象将并不会局限于人体,还有很多其他的事物。微波传感器不…

java基础语法——条件判断与循环语句

目录 一、流程控制语句 流程控制语句分类 二、顺序结构 顺序结构概述 顺序结构图 三、选择结构 选择结构概述 选择结构(if语句1) 选择执行图1 选择结构(if语句2) 选择执行图2 选择结构(if语句3) 选择执行图3 选择结构(switch语句) switch语句执行流程图 四、 循环…

剪映电脑版超简单使用教程Mac

相机 我主要用到的两个键 点击开始创作导入本地视频 导入本地视频 将素材拖拽到时间线上 时间线面板操作 撤销、恢复、分割 撤销上一次操作也可以用快捷键 command z 定格、倒放、镜像、裁剪 剃刀 点击菜单的分割可以出来一个剃刀,分割更方便 选择模式 …

代码随想录算法训练营第十二天|239. 滑动窗口最大值| ● 347.前 K 个高频元素

239 滑动窗口最大值 看完题后的思路 这是一道典型的单调队列的题,如果不是之前刷过一遍,对这道题没有一点头绪。即使刷过,也只是留了个印象。 解题思路 对于本道题来说,到窗口右移,如果一个新元素a进入窗口&#x…

【Maven】分模块开发与设计与依赖管理

目录 一、分模块开发与设计 1. 分模块开发的意义 2. 分模块开发(模块拆分) 二、依赖管理 1. 依赖传递 2. 可选依赖 3. 排除依赖 4 可选依赖和排除依赖的区别 一、分模块开发与设计 1. 分模块开发的意义 问题导入 分模块开发对工程有什么好处…