Day59 动态规划part12

LC115不同的子序列(未掌握

  1. 递推公式与LC392类似,但是初始化略有不同
  • LC392的dp数组含义为相同字符个数
  • 而本体的dp数组含义为出现的次数,因此dp[i][0]=1
  1. 两种情况
  • s[i-1]==t[j-1]
    • dp[i][j] = dp[i-1][j-1]
    • dp[i][j] = dp[i-1][j]
  • s[i-1]!=t[j-1]=》dp[i][j] = dp[i-1][j]
  1. 代码
    在这里插入图片描述

LC583两个字符串的删除操作

  1. 其实本质就是求最长公共子序列,跟LC1143一样
  2. 代码
    在这里插入图片描述
  3. 方法二:
  • dp[i][j]:以i-1为结尾的字符串word1,和以j-1位结尾的字符串word2,想要达到相等,所需要删除元素的最少次数。
  • 递推公式:
    • 当word1[i - 1] == word2[j - 1]:dp[i][j] = dp[i - 1][j - 1];
    • 当word1[i - 1] != word2[j - 1]
      • 删word1[i - 1],最少操作次数为dp[i - 1][j] + 1
      • 删word2[j - 1],最少操作次数为dp[i][j - 1] + 1
      • 同时删word1[i - 1]和word2[j - 1],操作的最少次数为dp[i - 1][j - 1] + 2
      • 但是dp[i][j - 1] + 1 = dp[i - 1][j - 1] + 2,当 同时删word1[i - 1]和word2[j - 1],dp[i][j-1] 本来就不考虑 word2[j - 1]了,那么我在删 word1[i - 1],是不是就达到两个元素都删除的效果,即 dp[i][j-1] + 1
  • 代码
    在这里插入图片描述

LC72 编辑距离(未掌握

  1. dp[i][j] 表示以下标i-1为结尾的字符串word1,和以下标j-1为结尾的字符串word2,最近编辑距离为dp[i][j]。
  2. 递推公式:
    • 当word1[i - 1] == word2[j - 1]:dp[i][j] = dp[i - 1][j - 1];
    • 当word1[i - 1] != word2[j - 1]
      • 删除word1[i - 1]=》dp[i][j] = dp[i - 1][j] + 1;
      • 删除word2[j - 1]=》dp[i][j] = dp[i ][j-1] + 1;
      • 增加:因为增加可以任意增加一个元素,增加元素就类似与删除元素,长为x和长为y的比较,如果需要增加一定是一个比另外一个长,那可以加一个也就可以用减一个元素替代
      • 替换:将word1[i - 1]替换为word2[j- 1]=》dp[i][j] = dp[i - 1][j - 1]+1;
  3. 代码
    在这里插入图片描述

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

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

相关文章

Kubernetes集群性能测试之kubemark集群搭建

Kubernetes集群性能测试之kubemark集群搭建 Kubemark是K8s官方提供的一个对K8s集群进行性能测试的工具。它可以模拟出一个K8s cluster(Kubemark cluster),不受资源限制,从而能够测试的集群规模比真实集群大的多。这个cluster中ma…

运维锅总详解系统启动流程

本文详细介绍Linux及Windows系统启动流程,并分析了它们启动流程的异同以及造成这种异同的原因。希望本文对您理解系统的基本启动流程有所帮助! 一、Linux系统启动流程 Linux 系统的启动流程可以分为几个主要阶段,从电源开启到用户登录。每个…

有一个日期(Date)类的对象和一个时间(Time)类的对象,均已指定了内容,要求一次输出其中的日期和时间

可以使用友元成员函数。在本例中除了介绍有关友元成员函数的简单应用外,还将用到类的提前引用声明,请读者注意。编写程序: 运行结果: 程序分析: 在一般情况下,两个不同的类是互不相干的。display函…

关于Java异常机制及finally关键字的详解

异常机制(Exception) 软件程序在运行过程中,非常可能遇到异常问题。常见的异常: 1、用户输入错误 2、设备错误 3、硬件问题,例如打印机关掉、服务器问题 4、物理限制:磁盘满了 Java是采用面向对象的方式来处理异常的。 处理过程…

基于Java的水果商品销售网站

1 水果商品销售网站概述 1.1 课题简介 随着电子商务在当今社会的迅猛发展,水果在线销售已逐渐演变为一种极为便捷的购物方式,日益受到人们的青睐。本系统的设计初衷便是构建一个功能完备、用户体验友好的水果销售平台,致力于为用户提供优质、…

【植物大战僵尸杂交版】获取+存档插件

文章目录 一、还记得《植物大战僵尸》吗?二、在哪下载,怎么安装?三、杂交版如何进行存档功能概述 一、还记得《植物大战僵尸》吗? 最近,一款曾经在15年前风靡一时的经典游戏《植物大战僵尸》似乎迎来了它的"文艺复…

渐开线花键测量学习笔记分享

大家好,继续渐开线花键的相关内容,本期是渐开线花键测量相关的学习笔记分享: 花键检测项目有花键大径和小径检验;内花键齿槽宽和外花键齿厚,以及渐开线终止圆 和起始圆直径检测;齿距累计误差 、齿形误差 、…

排序算法简述(第八jiang)

目录 排序 选择排序 O(n2) 不稳定:48429 归并排序 O(n log n) 稳定 插入排序 O(n2) 堆排序 O(n log n) 希尔排序 O(n log2 n) 图书馆排序 O(n log n) 冒泡排序 O(n2) 优化: 基数排序 O(n k) 快速排序 O(n log n)【分治】 不稳定 桶排序 O(n…

Mysql-常用函数及其用法总结

1、字符串函数 测试用例如下: 1.1 CONCAT() 将多个字符串连接成一个字符串。 SELECT CONCAT(first_name, , last_name) AS full_name FROM users; -- 期望结果:John Doe, Jane Smith, Michael Johnson 1.2 SUBSTRING() 提取子字符串 SELECT SUBSTR…

STM32-PWR和WDG看门狗

本内容基于江协科技STM32视频学习之后整理而得。 文章目录 1. PWR1.1 PWR简介1.2 电源框图1.3 上电复位和掉电复位1.4 可编程电压监测器1.5 低功耗模式1.6 模式选择1.7 睡眠模式1.8 停止模式1.9 待机模式1.10 库函数 2. WDG看门狗2.1 WDG简介2.2 IWDG框图2.3 IWDG键寄存器2.4 …

13 学习总结:指针 · 其一

目录 一、内存和地址 (一)内存 (二)内存单元 (三)地址 (四)拓展:CPU与内存的联系 二、指针变量和地址 (一)创建变量的本质 (二…

ASRock Creator系列GPU:为AI推理及多GPU系统打造,采用16针电源接口的Radeon RX 7900系列显卡

ASRock 正在筹备推出专为人工智能推理和多GPU系统设计的AMD GPU——Creator系列显卡。这一系列显卡采用双槽位、吹风式设计,并配备16针电源连接器,首发产品包括基于Navi 31架构的AMD Radeon RX 7900XTX和RX 7900 XT型号。这些原属于WS系列的显卡最初在20…

机器学习与现代医疗设备的结合:革新医疗健康的未来

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引言 随着技术的不断进步,机器学习(Machine Learning, ML)在现代医疗设备中的应用正在改变着…

python基础语法 006 内置函数

1 内置函数 材料参考:内置函数 — Python 3.12.4 文档 Python 解释器内置了很多函数和类型,任何时候都能直接使用 内置函数有无返回值,是python自己定义,不能以偏概全说都有返回值 以下为较为常用的内置函数,欢迎补充…

什么是CTO?如何成为一名优秀的CTO?

一、什么是CTO? 首席技术官(CTO)是一位负责领导和管理企业技术战略的高级职务。CTO的主要职责包括规划技术战略、监督研发活动、领导技术团队等。 二、CTO的主要职责 首席技术官,即CTO,是企业中负责技术和研发的高级管…

Redies基础篇(一)

Redis 是一个高性能的key-value数据库。Redies支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的&#xff…

【ETABS】【RHINO】案例:Swallow to ETABS

文章目录 01. Swallow Overview总览1 LOAD:Defination of LoadCase、Response Combo2 SectionArea Section and Area Load(面截面定义与指定,面荷载指定)Frame Section with rebarattr and linear load(带钢筋属性框架…

下载,连接mysql数据库驱动(最详细)

前言 本篇博客,我讲讲如何连接数据库?我使用mysql数据库举例。 目录 下载对应的数据库jar 包 百度网盘 存有8.4.0版本压缩包:链接:https://pan.baidu.com/s/13uZtXRmuewHRbXaaCU0Xsw?pwduipy 提取码:uipy 复制这…

STM32-TIM定时器

本内容基于江协科技STM32视频内容,整理而得。 文章目录 1. TIM1.1 TIM定时器1.2 定时器类型1.3 基本定时器1.4 通用定时器1.4 高级定时器1.5 定时中断基本结构1.6 预分频器时序1.7 计数器时序1.8 计数器无预装时序1.9 计数器有预装时序1.10 RCC时钟树 2. TIM库函数…

前端面试题11(浅谈JavaScript深拷贝与浅拷贝)

在JavaScript中,数据的复制可以分为浅拷贝(Shallow Copy)和深拷贝(Deep Copy)。这两种拷贝方式主要区别在于如何处理对象中的嵌套对象。下面我会详细解释这两者的概念、区别,并提供相应的实现代码。 浅拷贝…