当前位置: 首页 > news >正文

力扣72. 编辑距离

动态规划

  • 思路:
    • 假设 dp[i][j] 是 word1 前 i 个字母到 word2 前 j 个字母的编辑距离;
    • 那么状态 dp[i][j] 状态的上一个状态有:
      • dp[i - 1][j],word1 前 i - 1 个字母到 word2 前 j 个字母的编辑距离,此状态再插入一个字母就迁移到 dp[i][j] 状态;
      • 同理在 dp[i][j - 1] 状态 word2 插入一个字母就迁移到 dp[i][j];
      • 状态 dp[i - 1][j - 1],如果 word1 和 word2 最后一个字母相同,则不需要替换;否则,需要进行替换,增加一次编辑;
    • dp[i][j] 是这个上一状态迁移所需距离最小的值;
    • 同时,当一个字母为空串时,需要编辑的距离为另外一个字母的长度:
      • dp[0][j] = j
      • dp[i][0] = i
class Solution {
public:int minDistance(string word1, string word2) {int sz1 = word1.size();int sz2 = word2.size();if (sz1 == 0) {return sz2;}if (sz2 == 0) {return sz1;}std::vector<std::vector<int>> dp(sz1 + 1, std::vector<int>(sz2 + 1));// if word2 emptyfor (int i = 0; i <= sz1; ++i) {dp[i][0] = i;}// if word1 emptyfor (int j = 0; j <= sz2; ++j) {dp[0][j] = j;}for (int i = 1; i <= sz1; ++i) {for (int j = 1; j <= sz2; ++j) {int dp_add = dp[i - 1][j] + 1;int dp_del = dp[i][j - 1] + 1;int dp_re = dp[i - 1][j - 1];if (word1[i - 1] != word2[j - 1]) {dp_re += 1;}dp[i][j] = std::min(std::min(dp_add, dp_del), dp_re);}}return dp[sz1][sz2];}
};

http://www.lryc.cn/news/261497.html

相关文章:

  • Unity中 URP Shader 的纹理与采样器的分离定义
  • Electron学习第一天 ,启动项目
  • WebService技术--随笔1
  • 如何使用Docker将.Net6项目部署到Linux服务器(一)
  • 第4章-第3节-Java中跟数组相关的几个算法以及综合应用
  • AlexNet(pytorch)
  • 【单调栈 】LeetCode321:拼接最大数
  • TikTok与虚拟现实的完美交融:全新娱乐时代的开启
  • PXI/PCIe/VPX机箱 ARM|x86 + FPGA测试测量板卡解决方案
  • ES6 面试题 | 12.精选 ES6 面试题
  • 【linux】Debian不能运行sudo的解决
  • 讲解ThinkPHP的链式操作
  • Java技术栈 —— 微服务框架Spring Cloud —— Ruoyi-Cloud 学习(二)
  • 如何进行软件测试和测试驱动开发(TDD)?
  • linux 开机启动流程
  • Mybatis 动态SQL的插入操作
  • 共建开源新里程:北京航空航天大学OpenHarmony技术俱乐部正式揭牌成立
  • 企业微信机器人发送文本、图片、文件、markdown、图文信息
  • 智能优化算法应用:基于天牛须算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 【Hive】【Hadoop】工作中常操作的笔记-随时添加
  • DIY电脑装机机箱风扇安装方法
  • 基础算法(4):排序(4)冒泡排序
  • 鸿蒙开发之网络请求
  • PrimDiffusion:3D 人类生成的体积基元扩散模型NeurIPS 2023
  • 时序预测 | Python实现LSTM-Attention-XGBoost组合模型电力需求预测
  • 【网络安全技术】电子邮件安全PGP,SMIME
  • CSS学习笔记整理
  • SpringData自定义操作
  • 【Java JVM】运行时数据区
  • k8s中pod监控数据在grafana中展示