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

奉贤广州网站建设中国重大新闻

奉贤广州网站建设,中国重大新闻,建筑公司经营范围参考,柳州建设厅官方网站583. 两个字符串的删除操作 题目描述 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例1: 输入: w o r d 1 " s e a " , w o r d 2 " e a t …

583. 两个字符串的删除操作

题目描述

给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。
每步 可以删除任意一个字符串中的一个字符。
示例1:
输入: w o r d 1 = " s e a " , w o r d 2 = " e a t " word1 = "sea", word2 = "eat" word1="sea",word2="eat"
输出: 2 2 2
示例2:
输入: w o r d 1 = " l e e t c o d e " , w o r d 2 = " e t c o " word1 = "leetcode", word2 = "etco" word1="leetcode",word2="etco"
输出: 4 4 4

思路

1、确定dp数组
dp[i][j]表示以i-1为结尾的字符串word1和以j-1为结尾的字符串word2,想要达到相等,所需要删除元素的最少次数
2、确定递推公式
当word[i-1]和word2[j-1]相等时,直接等于上一状态即可
不相等时,存在三种情况:
1)删word1[i-1]
2)删word2[j-1]
3)同时删word1[i-1]和word2[j-1]
最后取最小值

解法

class Solution {public int minDistance(String word1, String word2) {int len1 = word1.length();int len2 = word2.length();int[][] dp = new int[len1+1][len2+1];for(int i = 1;i<= len1;i++){for(int j = 1;j<=len2;j++){if(word1.charAt(i-1) == word2.charAt(j-1)){dp[i][j] = dp[i-1][j-1] +1;}else{dp[i][j] = Math.max(dp[i-1][j],dp[i][j-1]);}}}return len1+len2-dp[len1][len2]*2;}
}

总结

好好看,好好学

72. 编辑距离

题目描述

给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。
你可以对一个单词进行如下三种操作:
插入一个字符
删除一个字符
替换一个字符
示例1:
输入: w o r d 1 = " h o r s e " , w o r d 2 = " r o s " word1 = "horse", word2 = "ros" word1="horse",word2="ros"
输出: 3 3 3
示例2:
输入: w o r d 1 = " i n t e n t i o n " , w o r d 2 = " e x e c u t i o n " word1 = "intention", word2 = "execution" word1="intention",word2="execution"
输出: 5 5 5

思路

1、确定dp数组
dp[i][j]表示以下标i-1为结尾的字符串word1,和以下标j-1为结尾的字符串word2,最近编辑距离为dp[i][j]
2、确定递推公式
word1[i-1]和word2[j-1]
相等时,不进行操作
不相等时,可以进行增删改的动作

解法

class Solution {public int minDistance(String word1, String word2) {int m = word1.length();int n = word2.length();int[][] dp = new int[m+1][n+1];for(int i = 1;i<=m;i++){dp[i][0] = i;}for(int j = 1;j<=n;j++){dp[0][j] = j;}for(int i = 1;i<=m;i++){for(int j = 1;j<=n;j++){if(word1.charAt(i-1) == word2.charAt(j-1)){dp[i][j] = dp[i-1][j-1];}else{dp[i][j] = Math.min(Math.min(dp[i-1][j-1],dp[i][j-1]),dp[i-1][j])+1;}}}return dp[m][n];}
}

总结

最近考试周,没细看,我有罪,等考试周结束之后再好好总结

http://www.qdjiajiao.com/news/7724.html

相关文章:

  • 网站开发东莞关于网络推广的方法
  • 中铁建设集团有限公司官方网站免费网站制作平台
  • 有没有教做零食的网站做网页的网站
  • wordpress 独立 分类seo管理系统培训运营
  • 长沙建立网站平台推广计划
  • 公司网站推广怎么做网站分析工具
  • 目前做啥网站能致富湖南企业网站建设
  • 制作网站必做步骤seo排名方案
  • 厦门 做网站百度关键词流量查询
  • 用jsp做的动态网站想做网络推广如何去做
  • 什么网站容易做流量app推广拉新工作可靠吗
  • 小程序代理商怎么赚钱长春seo优化企业网络跃升
  • 太原提高网站排名培训网
  • 如何在office做网站佛山疫情最新消息
  • 企业手机网站建设方案nba最新交易
  • 郑州网站定制公司网络推广方法
  • 手机网站怎么上传图片疫情优化调整
  • 上海建设房屋网站西安网站托管
  • 百度云服务器建设网站如何做平台推广
  • 营销型网站建设哪家公司好baidu百度首页官网
  • 网址导航网站建站网站seo搜索引擎优化怎么做
  • 最好的企业网站seo是什么意思 为什么要做seo
  • php网站建设开发seo辅助工具
  • asp网站开发实例书籍浏览器2345网址导航下载安装
  • 青岛做网站报价百度推广代理公司哪家好
  • 台州做网站网络热词的利弊
  • 网页ui素材武汉网站seo推广
  • 网站页面布局设计建网站需要哪些步骤
  • 买了阿里云怎么做网站宣传推广计划
  • 建设独立网站需要什么营销顾问公司