首页 > 其他分享 >LeetCode72. 编辑距离(/dp)

LeetCode72. 编辑距离(/dp)

时间:2023-02-26 01:22:23浏览次数:56  
标签:LeetCode72 int ++ down 编辑 word1 word2 dp left

原题解

题目

约束

题解


class Solution {
public:
    int minDistance(string word1, string word2) {
        int n = word1.length();
        int m = word2.length();

        // 有一个字符串为空串
        if (n * m == 0) return n + m;

        // DP 数组
        vector<vector<int>> D(n + 1, vector<int>(m + 1));

        // 边界状态初始化
        for (int i = 0; i < n + 1; i++) {
            D[i][0] = i;
        }
        for (int j = 0; j < m + 1; j++) {
            D[0][j] = j;
        }

        // 计算所有 DP 值
        for (int i = 1; i < n + 1; i++) {
            for (int j = 1; j < m + 1; j++) {
                int left = D[i - 1][j] + 1;
                int down = D[i][j - 1] + 1;
                int left_down = D[i - 1][j - 1];
                if (word1[i - 1] != word2[j - 1]) left_down += 1;
                D[i][j] = min(left, min(down, left_down));

            }
        }
        return D[n][m];
    }
};

标签:LeetCode72,int,++,down,编辑,word1,word2,dp,left
From: https://www.cnblogs.com/chuixulvcao/p/17155790.html

相关文章

  • 70. 爬楼梯(/dp)
    原题解题目约束题解解法一classSolution{public:intclimbStairs(intn){intp=0,q=0,r=1;for(inti=1;i<=n;++i)......
  • 规则LDPC和不规则LDPC译码算法MATLAB仿真
    up目录一、理论基础二、核心程序三、测试结果一、理论基础LDPC码是根据低密度稀疏校验矩阵H来构造的。假设需要发送一组信息T{t_1,t_2,⋯,t_n},在发送前先使用生成矩......
  • python实现客户端和服务端的UDP相互通信
    实验指南这篇博客旨在实验客户端和服务端相互发送消息的实验,实验成功的现象为,客户端和服务端的两个窗口,即client和server左上角均被打上文字,因为客户端是没有给图片附上文......
  • 动态规划DP
    前言:因为在练习算法题时遇到了经典的背包问题,而解决这个问题的最优方法是动态规划为了更多的了解动态规划,结合网上资料和个人理解系统地整理了一份资料可能对于部分人......
  • Quill编辑器实现原理初探
    简介从事前端开发的同学,对富文本编辑器都不是很陌生。但是大多数富文本编辑器都是开箱即用,很少会对其实现原理进行深入的探讨。假如静下心去细细品味,会发现想要做好一款富......
  • m基于FPGA的NBDP系统ARQ单元模块的verilog实现
    1.算法描述       NBDP(窄带直接印字电报),全称Narrow-BandDirect-Printing。是GMDSS地面无线民系统中的一种重要通信技术,这个终端设备,要与MF、HF设备联接使用。 ......
  • 2572. 无平方子集计数(状态压缩dp)
    题目https://leetcode.cn/problems/count-the-number-of-square-free-subsets/思路类似01背包优化的状态压缩dp(误)首先按照数字分出是否有平方子集,然后再计数cnt[x]......
  • 编辑员工信息
    程序的执行流程:(1)点击编辑按钮时,页面跳转到add.html,并在url中携带参数[员工id](2)在add.html页面获取url中的参数[员工id](3)发送ajax请求,请求服务端,同时提交员工id参数(4)服......
  • Linux 命令行编辑快捷键
    Linux命令行编辑快捷键初学者在Linux命令窗口(终端)敲命令时,肯定觉得通过输入一串一串的字符的方式来控制计算是效率很低。但是Linux命令解释器(Shell)是有很多快捷键的,熟练......
  • PageOffice在线打开编辑Word文件获取指定区域的数据并且保存整篇文件
    一、首先在word文件中给需要在后台获取数据的区域设置以PO_开头的书签。二、通过pageoffice在线打开文件并编辑保存。有两种打开文件的模式1、普通编辑模式(docNormalEdi......