数据结构学习 Leetcode72 编辑距离

 关键词:动态规划 最长公共子序列

题目:

思路:

这题我虽然做出来了但是还是有点迷糊。首先,这道题一定是和最长公共子序列相似的。

所以往最长公共子序列方向思考,考虑的它的状态和转移方程以及边界。

状态和转移方程:

这里的替换 删除 插入需要好好琢磨一下。可以结合实际例子理解。

边界:

(第一次提交的时候没有注意,刚开始把边界都设成了intmax)

复杂度计算:

时间复杂度O(nm)

空间复杂度O(nm)

代码:

class Solution {
public:int minDistance(std::string word1, std::string word2) {if (word1.empty() || word2.empty()) //两个string里面至少有一个是空的return word1.length() + word2.length();//两个string都不空int n = word1.length() + 1;int m = word2.length() + 1;std::vector<std::vector<int>> dp(m, std::vector<int>(n, 0));//边界for (int i = 0; i < dp[0].size(); ++i)dp[0][i] = i;for (int i = 0; i < dp.size(); ++i)dp[i][0] = i;//遍历每一个for (int i = 0; i < word2.length(); ++i){for (int j = 0; j < word1.length(); ++j){if (word1[j] == word2[i])dp[i + 1][j + 1] = dp[i][j];elsedp[i + 1][j + 1] = std::min(std::min(dp[i][j], dp[i][j + 1]), dp[i + 1][j]) + 1;}}return dp[word2.length()][word1.length()];}
};

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

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

相关文章

英国允许法官使用ChatGPT写裁决书,并公布官方指南!

知名媒体The Week消息&#xff0c;英格兰和威尔士地区的法官&#xff0c;允许使用ChatGPT撰写法律裁决书。 英国的司法官网已经发布了官方指南&#xff0c;详细描述了使用ChatGPT的正确使用方法、潜在风险以及示例&#xff0c;同时适用于首席大法官、高级庭长等负责司法的所有…

2023年安徽省职业院校技能大赛(高职组)“区块链技术应用”赛项竞赛任务书

2023年安徽省职业院校技能大赛&#xff08;高职组&#xff09;“区块链技术应用”赛项竞赛任务书 目录 2023年安徽省职业院校技能大赛&#xff08;高职组&#xff09;“区块链技术应用”赛项竞赛任务书 模块一&#xff1a;区块链产品方案设计及系统运维&#xff08;35分&…

【ai】阿里云 大模型 api 聚合平台 dashscope

阿里云登录 - 欢迎登录阿里云&#xff0c;安全稳定的云计算服务平台 快速调用 前提条件 已开通服务并获得API-KEY&#xff1a;开通DashScope并创建API-KEY。 已安装最新版SDK&#xff1a;安装DashScope SDK。 DashScope灵积模型服务建立在“模型即服务”&#xff08;Model-a…

云仓酒庄的品牌雷盛红酒LEESON分享干红是纯葡萄酿造的吗?

干红是一种葡萄酒的简称&#xff0c;全称是干型红葡萄酒。葡萄酒按含残糖量分为干型、半干型、半甜型和甜型。无论什么型的酒&#xff0c;只要是葡萄酒&#xff0c;那就是葡萄酿造的。 云仓酒庄的品牌雷盛红酒LEESON分享干红是葡萄酒的一种&#xff0c;而葡萄酒却不止干红一种…

【RocketMQ笔记01】安装RocketMQ消息队列运行环境

这篇文章&#xff0c;主要介绍如何安装RocketMQ消息队列运行环境。 目录 一、RocketMQ消息队列 1.1、下载RocketMQ 1.2、解压安装包 1.3、配置RocketMQ环境变量 1.4、修改启动脚本 1.5、启动RocketMQ &#xff08;1&#xff09;启动NameServer &#xff08;2&#xff0…

HarmonyOS共享包HAR

共享包概述 OpenHarmony提供了两种共享包&#xff0c;HAR&#xff08;Harmony Archive&#xff09;静态共享包&#xff0c;和HSP&#xff08;Harmony Shared Package&#xff09;动态共享包。 HAR与HSP都是为了实现代码和资源的共享&#xff0c;都可以包含代码、C库、资源和配…

Salesforce推出Trailblazer就业市场,让求职更简单!

12月14日&#xff0c;Salesforce宣布推出Trailblazer就业市场&#xff08;Trailblazer Career Marketplace&#xff09;&#xff0c;这是一个新的人才中心&#xff0c;也是Trailhead的扩展。Trailblazer就业市场致力于将数据、人工智能和CRM领域的专业人士与Salesforce生态系统…

CentOS8+宝塔面板+cpolar内网穿透搭建可公网访问的Typecho个人站点

文章目录 前言1. 安装环境2. 下载Typecho3. 创建站点4. 访问Typecho5. 安装cpolar6. 远程访问Typecho7. 固定远程访问地址8. 配置typecho 前言 Typecho是由type和echo两个词合成的&#xff0c;来自于开发团队的头脑风暴。Typecho基于PHP5开发&#xff0c;支持多种数据库&#…

Flutter windows 环境配置

Flutter windows 环境配置 从零开始&#xff0c;演示flutter环境配置到启动项目&#xff0c;同时支持 vscode 和 android studio 目录 Flutter windows 环境配置一、环境配置1. Flutter SDK2. Android Studio3. JDK4. 拓展安装5. Visual Studio 2022二、项目创建和启动1. vsco…

Ansys Lumerical | 带2D输出耦合器的出瞳扩展器的优化

附件下载 联系工作人员获取附件 本文提出并演示了一种以二维光栅为外耦合器的出瞳扩展器&#xff08;EPE&#xff09;系统的仿真方法&#xff0c;并给出了优化和公差分析的实例。 在此工作流程中&#xff0c;我们使用 Lumerical 构建光栅模型&#xff0c;并使用 RCWA 求解器模…

ubuntu18设置开机自启动

项目需求&#xff1a;机器人开机上电后工控机首先运行机械臂控制代码&#xff0c;再运行算法代码 1.终端执行以下代码 gnome-session-properties 2.设置开机自启动选项 在弹出界面点击添加&#xff0c;名称随便填&#xff0c;命令填入要启动的脚本&#xff0c;注释随便填。 …

【CAD二次开发】如何通过lsp实现dll程序的自动加载

通常我们在收到一个dll格式的CAD插件的时候会通过NETLOAD手动加载&#xff0c;这个缺点是每次重启CAD后都需要再加载dll插件; 有没有什么方法可以实现dll插件的自动加载呢&#xff1b; 答案是有&#xff0c;下面我们分享几种简单的方法实现dll的自动加载&#xff1b; 方法1&…

nginx: [error] open() “/var/run/nginx/nginx.pid“ failed (2: No such file or directory)

该错误消息通常表示 Nginx 在启动过程中无法找到指定路径的日志文件或进程号文件。 我这边是因为服务器断电&#xff0c;导致该问题 这个问题可能有几种原因和解决方法&#xff1a; 1. 确保 Nginx 配置文件中的日志路径正确。在 Nginx 配置文件中查找 error_log 和 pid 配置指…

密码学学习笔记(二十三):哈希函数的安全性质:抗碰撞性,抗第一原象性和抗第二原象性

在密码学中&#xff0c;哈希函数是一种将任意长度的数据映射到固定长度输出的函数&#xff0c;这个输出通常称为哈希值。理想的哈希函数需要具备几个重要的安全性质&#xff0c;以确保数据的完整性和验证数据的来源。这些性质包括抗碰撞性、抗第一原象性和抗第二原象性。 抗碰…

MidJourney笔记(9)-daily_theme-docs-describe

/daily_theme 切换 #daily-theme 频道更新的通知。 但我发现在对话框那里,是没有这个命令的: 但官网是有介绍,不知道是不是版本问题还是这个命令已经无效。 但后来,我发现这个命令是要在Midjourney服务对话框那里才有,在我们后面添加的Mid

测试C#使用AForge从摄像头获取图片

百度“C# 摄像头”关键词&#xff0c;从搜索结果来看&#xff0c;使用OpenCV、AForge、window动态链接库获取摄像头数据的居多&#xff0c;本文学习基于Aforge.net连接摄像头并从摄像头获取图片的基本方法。   AForge相关包&#xff08;尤其是相关的控件&#xff09;主要针对…

计算机网络简述

前言 计算机网路是一个很庞大的话题。在此我仅对其基础概述以及简单应用进行陈述。后续或有补充以形成完善的计算机网络知识体系。 一.计算机网络的定义 根据百度词条的描述&#xff0c;计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备&#xff0c;通过…

智能优化算法应用:基于减法平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于减法平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于减法平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.减法平均算法4.实验参数设定5.算法结果6.…

OKCC语音机器人的人机耦合来啦

目前市场上语音机器人的外呼形式基本就分为三种&#xff0c;一种纯AI外呼&#xff0c;第二种也是目前主流的AI外呼转人工。那么第三种也可能是未来的一种趋势&#xff0c;人机耦合&#xff0c;或者也叫人机协同。 那么什么是人机耦合呢&#xff1f; 人机耦合是为真人坐席创造相…

跟着LearnOpenGL学习11--材质

文章目录 一、材质二、设置材质三、光的属性四、不同的光源颜色 一、材质 在现实世界里&#xff0c;每个物体会对光产生不同的反应。 比如&#xff0c;钢制物体看起来通常会比陶土花瓶更闪闪发光&#xff0c;一个木头箱子也不会与一个钢制箱子反射同样程度的光。 有些物体反…