首页 > 其他分享 >代码随想录 day59 两个字符串的删除操作 编辑距离

代码随想录 day59 两个字符串的删除操作 编辑距离

时间:2024-02-23 22:33:06浏览次数:27  
标签:删除 随想录 day59 字符串 操作 dp

两个字符串的删除操作

两种思路 如果是以最长公共子序列去理解 求出这个子序列长度 然后原长减一下就行

如果是直接正面求解

就是如下解法
递推式很好理解
初始化意思是当一个串为0长度时 需要操作另一个字符串长度次 也就是直接赋予下标

编辑距离

dp[i - 1][j - 1] + 1意思就是以上次迭代状态进行替换
dp[i][j - 1] + 1意思是后一个串删除
反过来就是前一个串删除

标签:删除,随想录,day59,字符串,操作,dp
From: https://www.cnblogs.com/mingtiao/p/18030464

相关文章

  • 综合练习字符串1
    ALT+回车:将一句代码分割成两句代码charAt()方法的结果是字符串类型‘1’、‘2’···,需要变成数字1、2···,利用ASCii表(字符串‘0’对应ascii为48,所以数字0=字符串‘0’-48=48-48=0)思路2jdk12后,switch简化......
  • 代码随想录算法训练营第二十六天| 39. 组合总和 40.组合总和II 131.分割回文串
    组合总和题目链接:39.组合总和-力扣(LeetCode)思路:依然一是套用回溯模板,但是我们这里用回溯的是i而不是i+1,因为元素可以重复使用,注意for循环里if(sum(path)<=target)的等号不能少。classSolution{public:vector<int>path;vector<vector<int>>result;intsu......
  • KMP字符串匹配算法
    什么是KMPKMP算法主要应用在字符串匹配问题。因为是由这三位学者发明的:Knuth,Morris和Pratt,所以取了三位学者名字的首字母。所以叫做KMP 核心思想KMP的主要思想是:「当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。」(可......
  • 代码随想录:数组
    二分查找二分查找是对数组中的区间进行查找。有两种写法:一种是在闭区间内进行查找,另一种是在左闭右开区间内进行查找。每次查找的时候只有按照这个方法就不会出错。二分查找写法一:classSolution{public:intsearch(vector<int>&nums,inttarget){intle......
  • day41 动态规划part3 代码随想录算法训练营 96. 不同的二叉搜索树
    题目:96.不同的二叉搜索树我的感悟:这题,考的概率不大,听一遍,过一遍就行。理解难点:二叉搜索树定义为什么是累加的听课笔记:代码示例:classSolution:defnumTrees(self,n:int)->int:dp=[0]*(n+1)#创建一个长度为n+1的数组,初始化为0d......
  • day40 动态规划part3 代码随想录算法训练营 343. 整数拆分
    题目:343.整数拆分我的感悟:题目很难,但我动力十足!!理解难点:如何拆分为什么要保留dp[i]听课笔记:代码示例:classSolution:defintegerBreak(self,n:int)->int:#思路:#dp[i]是到目前为止能拆分取的最大值#dp[i]可以拆成j*(集合)......
  • 代码随想录 day58 判断子序列 不同的子序列
    判断子序列dp[i][j]表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。if(s[i-1]==t[j-1])t中找到了一个字符在s中也出现了if(s[i-1]!=t[j-1])相当于t要删除元素,继续匹配不同的子序列dp[i][j]:以i-1为结尾的s子序列中......
  • 24 - 格式化字符串
    格式化字符串笔者认为格式化字符串(formattedstring)在任何语言里都值得单独拿出来做个笔记,因为它是编程中控制输出的重要一环。FormattedStringLiterals(f-string)官网的翻译为“格式化字符串字面值”。比较常用的格式化方法。在字符串前加上前缀f或F,通过{expres......
  • 字符串
    字符串KMP\(p_i\)表示\(s_{1...i}\)的最长真前缀,真后缀(“真”即是不包括原串)相等处理就很简单,每个i就判断能否更新i-1的答案,如不行就i变成\(p_{i-1}\)再处理Fu(i,2,m+n+1){ intj=p[i-1]; while(j>0&&a[i]!=a[j+1])j=p[j]; if(a[i]==a[j+1])p[i]=j+1;}EXKMP\(p_i\)表......
  • 代码随想录算法训练营day02 | leetcode 977. 有序数组的平方、35.搜索插入位置、34.在
    题目链接:977.有序数组的平方-简单题目描述:给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]......