代码随想录第45天

ops/2024/12/16 4:55:34/

115.不同的子序列

python">class Solution:def numDistinct(self, s: str, t: str) -> int:n1 = len(s)n2 = len(t)dp = [[0] * (n1 + 1) for _ in range(n2 + 1)]for j in range(n1 + 1):dp[0][j] = 1for i in range(1, n2 + 1):for j in range(1, n1 + 1):if t[i - 1] == s[j - 1]:dp[i][j] = dp[i - 1][j - 1]  + dp[i][j - 1]else:dp[i][j] = dp[i][j - 1]#print(dp)return dp[-1][-1]

583. 两个字符串的删除操作

python">class Solution:def minDistance(self, word1: str, word2: str) -> int:m, n = len(word1), len(word2)dp = [[0] * (n + 1) for _ in range(m + 1)]for i in range(m):for j in range(n):if word1[i] == word2[j]:dp[i+1][j+1] = dp[i][j] + 1else:dp[i+1][j+1] = max(dp[i][j+1], dp[i+1][j])return m + n - dp[m][n] * 2

72. 编辑距离

python">class Solution:def minDistance(self, word1: str, word2: str) -> int:n = len(word1)m = len(word2)# 有一个字符串为空串if n * m == 0:return n + m# DP 数组D = [ [0] * (m + 1) for _ in range(n + 1)]# 边界状态初始化for i in range(n + 1):D[i][0] = ifor j in range(m + 1):D[0][j] = j# 计算所有 DP 值for i in range(1, n + 1):for j in range(1, m + 1):left = D[i - 1][j] + 1down = D[i][j - 1] + 1left_down = D[i - 1][j - 1] if word1[i - 1] != word2[j - 1]:left_down += 1D[i][j] = min(left, down, left_down)return D[n][m]

http://www.ppmy.cn/ops/142295.html

相关文章

ArcGIS字符串补零与去零

我们有时候需要 对属性表中字符串的补零与去零操作 我们下面直接视频教学 下面看视频教学 ArcGIS字符串去零与补零 推荐学习 ArcGIS全系列实战视频教程——9个单一课程组合 ArcGIS10.X入门实战视频教程(GIS思维) ArcGIS之模型构建器(Mod…

数据结构和算法-06线段树-01

线段树 什么是线段树 线段树是一种**[二叉搜索树]**,与[**区间树]**相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树的一个结点 [Segment Tree] is a data structure that stores data about range of elements in nodes as a …

etcd节点扩/缩容

etcd集群节点数量的说明 etcd 是基于 raft算法的分布式键值数据库,生来就为集群化而设计的,由于Raft算法在做决策时需要超半数节点的投票,所以etcd集群一般推荐奇数节点,如3、5或者7个节点构成一个集群。 对于具有 n 个成员的集群…

构建centos docker基础镜像

1、介绍 比较老的版本docker镜像,不太好找,可以尝试自己构建 各版本构建基础镜像方法不太一样,方式也不同,自己尝试,本文只介绍了我自己的尝试 2、构建centos5.11 docker镜像 准备iso文件 (1)安…

Tomcat原理(1)——IDEA实现模拟服务端和客户端的互传

引入 一、什么是Tomcat Tomcat是一个开源的Java Web应用服务器,主要用于运行Java编写的网站和Web应用程序。实质上可以理解为是一个容器,一个用于承载项目的容器。 tomcat有什么作用,最基础来讲,当我们创建一个文件,当…

如何发挥网络爬虫利器phpSpider最大功效

要发挥网络爬虫利器phpSpider的最大功效,可以从以下几个方面入手: 一、基础配置与优化 安装与配置: 确保PHP环境已正确安装,并通过Composer等工具安装phpSpider及其依赖。根据目标网站的特点,合理设置phpSpider的配置…

React useState使用中遇到的问题及解决办法

React 中的 useState Hook 是一个非常强大和常用的工具,用于在函数组件中管理状态。然而,在使用 useState 时,可能会遇到一些问题和困惑。本文将详细解释 useState 的工作原理,并提供解决常见问题的方法。 useState 的基本用法 …

区块链软件系统海外宣发:全球化市场中的策略与实施

随着区块链技术的快速发展,越来越多的区块链软件系统进入全球市场,涉及加密货币、智能合约、去中心化金融(DeFi)、供应链管理等多个行业应用。为了在激烈的竞争中脱颖而出,区块链软件系统不仅需要具备卓越的技术能力&a…