Leetcode 72. 编辑距离 动态规划

embedded/2025/1/13 8:52:04/

原题链接:Leetcode 72. 编辑距离

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

class Solution {
public:int minDistance(string word1, string word2) {int m = word1.size();int n = word2.size();// dp[i][j]为把word1的前i个字符转换为word2的前j个字符所花的最少操作数vector<vector<int>> dp(m + 1, vector<int>(n + 1, 0));// 把一个word1的前i个字符转换为word2(空字符),需要删除i个字符for (int i = 0; i <= m; i++) {dp[i][0] = i;}// 把一个word1(空字符),转换为word2的前j个字符,需要插入j个字符for (int j = 0; j <= n; j++) {dp[0][j] = j;}for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {// 为了得到dp[i][j],把word1的第i个字符删除,转为为word2的前j个字符,即在word1的前i-1个字符的基础上,加一个删除操作,得到为word2的前j个字符int op1 = dp[i - 1][j] + 1;// 为了得到dp[i][j],在word1的第i个字符后插入一个字符,转为为word2的前j个字符,即在word1的前i个字符的基础上,加一个插入操作,转换为word2的前j个字符(插入之前是dp[i][j-1])int op2 = dp[i][j - 1] + 1;// 为了得到dp[i][j],把word1的第i个字符替换为另一个字符,转为为word2的前j个字符,即在word1的前i-1个字符的基础上,加一个替换操作,得到word2的前j个字符(替换之前是dp[i-1][j-1])// word1[i-1]==word2[j-1],字符相同,无需替换int op3 = dp[i - 1][j - 1];// word1[i-1]!=word2[j-1],字符不同,替换,操作+1if (word1[i - 1] != word2[j - 1]) {op3 += 1;}dp[i][j] = min(min(op1, op2), op3);}}// 把word1的前m个字符转换为word2的前n个字符所花的最少操作数return dp[m][n];}
};

http://www.ppmy.cn/embedded/153506.html

相关文章

kafka原理解析

一、基本概念与架构 消息&#xff08;Message&#xff09;&#xff1a;Kafka 中传递的数据单元&#xff0c;由消息头&#xff08;可选&#xff09;和消息体组成&#xff0c;消息体中包含了实际要传递的业务数据&#xff0c;例如用户的交易记录、日志信息等&#xff0c;通常以字…

记录一下vue2项目优化,虚拟列表vue-virtual-scroll-list处理10万条数据

文章目录 封装BrandPickerVirtual.vue组件页面使用组件属性 select下拉接口一次性返回10万条数据&#xff0c;页面卡死&#xff0c;如何优化&#xff1f;&#xff1f;这里使用 分页 虚拟列表&#xff08;vue-virtual-scroll-list&#xff09;&#xff0c;去模拟一个下拉的内容…

补充之前的一篇 MySQL 的索引为什么能加快查询速度

在之前的一篇文章中写了 MySQL 的索引为什么能加快查询速度&#xff0c;结合这两篇文章&#xff0c;相信你会对 MySQL 的索引有更深一步的了解 ​首先我们要理解一件事&#xff0c;无论什么数据库&#xff0c;它的数据一定都是存储在硬盘中的&#xff0c;而硬盘和内存之间的读…

晨辉面试抽签和评分管理系统之六:面试答题倒计时

晨辉面试抽签和评分管理系统&#xff08;下载地址:www.chenhuisoft.cn&#xff09;是公务员招录面试、教师资格考试面试、企业招录面试等各类面试通用的考生编排、考生入场抽签、候考室倒计时管理、面试考官抽签、面试评分记录和成绩核算的面试全流程信息化管理软件。提供了考生…

FinGPT:通过传播意识和上下文增强的LLM提升基于情感的股票走势预测

“FinGPT: Enhancing Sentiment-Based Stock Movement Prediction with Dissemination-Aware and Context-Enriched LLMs” 论文地址&#xff1a;https://arxiv.org/pdf/2412.10823 摘要 金融情感分析对于解读新闻如何影响股价具有关键作用&#xff0c;大型语言模型&#xff…

[报数游戏]

题目描述 E卷 100分题型 100个人围成一圈&#xff0c;每个人有一个编码&#xff0c;编号从1开始到100。 他们从1开始依次报数&#xff0c;报到为M的人自动退出圈圈&#xff0c;然后下一个人接着从1开始报数&#xff0c;直到剩余的人数小于M。 请问最后剩余的人在原先的编号为多…

webpack打包要义

webpack基本 Webpack 是一个现代 JavaScript 应用程序的静态模块打包工具。它的工作原理可以概括为以下几个核心步骤&#xff1a; 1. 入口起点&#xff08;Entry&#xff09; Webpack 从配置文件中指定的入口文件&#xff08;Entry Point&#xff09;开始&#xff0c;分析应用…

Excel如何分区设置密码,一个区域一个密码,数据收集时使用太方便了

大家好&#xff0c;我是小鱼。 很多小伙伴在使用Excel表格的时候&#xff0c;有可能需要为不同的区域设置不同的密码&#xff0c;比如搜集公司不同的部门&#xff0c;或者学校不同的班级的信息时&#xff0c;为了使收集的信息不被别人改动&#xff0c;这时就需要为他们各自设置…