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

大学科研项目做网站百度站长工具seo查询

大学科研项目做网站,百度站长工具seo查询,三亚网站建设公司,云计算网站建设递归暴力解法 递归方法的基本思想是考虑最后一个字符的操作,然后根据这些操作递归处理子问题。 递归函数定义:定义一个递归函数 minDistance(i, j),表示将 word1 的前 i 个字符转换成 word2 的前 j 个字符所需的最小操作数。 递归终止条件…

递归暴力解法

递归方法的基本思想是考虑最后一个字符的操作,然后根据这些操作递归处理子问题。

递归函数定义:定义一个递归函数 minDistance(i, j),表示将 word1 的前 i 个字符转换成 word2 的前 j 个字符所需的最小操作数。

递归终止条件

  • 如果 i == 0,意味着 word1 为空,此时将 word1 转换成 word2 的前 j 个字符就需要 j 次插入操作。
  • 如果 j == 0,意味着 word2 为空,此时将 word1 的前 i 个字符转换成空字符串需要 i 次删除操作。

递归转移方程

  • 如果 word1[i-1] == word2[j-1],则当前两个字符相等,不需要操作,所以 minDistance(i, j) = minDistance(i-1, j-1)
  • 如果不相等,则可以进行插入、删除或替换操作,转移方程为:
    • 插入:minDistance(i, j) = minDistance(i, j-1) + 1
    • 删除:minDistance(i, j) = minDistance(i-1, j) + 1
    • 替换:minDistance(i, j) = minDistance(i-1, j-1) + 1
  • 取三者的最小值。

代码如下:

public class Solution {// 主方法,用于外部调用,传入两个字符串public int minDistance(String word1, String word2) {// 调用递归助手函数,初始化i和j为字符串的长度,从字符串尾部开始比较return minDistanceHelper(word1, word2, word1.length(), word2.length());}// 递归助手函数,用于计算两个字符串的最小编辑距离private int minDistanceHelper(String word1, String word2, int m, int n) {// 如果第一个字符串为空,则转换的代价是第二个字符串的长度(即插入n次)if (m == 0) return n;// 如果第二个字符串为空,则转换的代价是第一个字符串的长度(即删除m次)if (n == 0) return m;// 如果两个字符串的当前字符相等,则不需要操作,递归考虑前一个字符if (word1.charAt(m - 1) == word2.charAt(n - 1)) {return minDistanceHelper(word1, word2, m - 1, n - 1);}// 计算插入操作的代价:将word2的第n个字符插入到word1的末尾,然后继续处理剩余的字符串int insert = minDistanceHelper(word1, word2, m, n - 1) + 1;// 计算删除操作的代价:删除word1的第m个字符,然后继续处理剩余的字符串int delete = minDistanceHelper(word1, word2, m - 1, n) + 1;// 计算替换操作的代价:将word1的第m个字符替换为word2的第n个字符,然后继续处理剩余的字符串int replace = minDistanceHelper(word1, word2, m - 1, n - 1) + 1;// 返回三种操作中的最小值,即为到当前位置为止的最小编辑距离return Math.min(Math.min(insert, delete), replace);}
}

但是重复计算效率很慢,改成动态规划:

动态规划方法

动态规划方法的核心思想是使用一个二维数组 dp 来存储中间结果,其中 dp[i][j] 表示将 word1 的前 i 个字符转换成 word2 的前 j 个字符所需的最小操作数。通过填充这个数组,我们可以逐步构建出从一个空字符串到完整 word2,再从完整 word1word2 的转换路径。

初始化:
  • dp[0][j]:将空字符串转换为 word2 的前 j 个字符,需要 j 次插入操作。
  • dp[i][0]:将 word1 的前 i 个字符转换为空字符串,需要 i 次删除操作。
状态转移方程:
  • 如果 word1[i-1] == word2[j-1],则 dp[i][j] = dp[i-1][j-1],因为最后一个字符已经匹配,不需要额外操作。
  • 如果 word1[i-1] != word2[j-1],则可以从以下三个可能的操作中选择最小成本的:
    • 插入:dp[i][j] = dp[i][j-1] + 1
    • 删除:dp[i][j] = dp[i-1][j] + 1
    • 替换:dp[i][j] = dp[i-1][j-1] + 1

代码如下:

public 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];// 初始化dp数组for (int i = 0; i <= m; i++) {dp[i][0] = i;  // 从word1的i字符变为空字符串}for (int j = 0; j <= n; j++) {dp[0][j] = j;  // 从空字符串变为word2的j字符}// 填充dp数组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] + 1), dp[i-1][j-1] + 1);}}}return dp[m][n];}
}


文章转载自:
http://remanufacture.wghp.cn
http://flatways.wghp.cn
http://harari.wghp.cn
http://rodger.wghp.cn
http://aural.wghp.cn
http://congratulate.wghp.cn
http://pohai.wghp.cn
http://westerner.wghp.cn
http://metaphone.wghp.cn
http://phyllade.wghp.cn
http://procession.wghp.cn
http://rochelle.wghp.cn
http://mostly.wghp.cn
http://disjunction.wghp.cn
http://offering.wghp.cn
http://jangler.wghp.cn
http://pyrogravure.wghp.cn
http://solfatara.wghp.cn
http://gey.wghp.cn
http://underdo.wghp.cn
http://hungered.wghp.cn
http://phrasing.wghp.cn
http://kittredge.wghp.cn
http://satan.wghp.cn
http://concretist.wghp.cn
http://broadcaster.wghp.cn
http://flunk.wghp.cn
http://hereafter.wghp.cn
http://preexistent.wghp.cn
http://mst.wghp.cn
http://ante.wghp.cn
http://forkful.wghp.cn
http://eyeshot.wghp.cn
http://aplite.wghp.cn
http://manifold.wghp.cn
http://unslung.wghp.cn
http://seamost.wghp.cn
http://exigency.wghp.cn
http://attend.wghp.cn
http://pterylography.wghp.cn
http://jude.wghp.cn
http://motorcycle.wghp.cn
http://aeroballistic.wghp.cn
http://skatebarrow.wghp.cn
http://unattached.wghp.cn
http://cobaltammine.wghp.cn
http://fulmination.wghp.cn
http://quercitol.wghp.cn
http://rightward.wghp.cn
http://ribbonwood.wghp.cn
http://entoderm.wghp.cn
http://mingy.wghp.cn
http://megaron.wghp.cn
http://performing.wghp.cn
http://contrivable.wghp.cn
http://unture.wghp.cn
http://hyrax.wghp.cn
http://phosphagen.wghp.cn
http://hypothesize.wghp.cn
http://typescript.wghp.cn
http://decisively.wghp.cn
http://hydrostatic.wghp.cn
http://unstructured.wghp.cn
http://eeo.wghp.cn
http://contuse.wghp.cn
http://stormbound.wghp.cn
http://unguiculated.wghp.cn
http://untangle.wghp.cn
http://nightjar.wghp.cn
http://muf.wghp.cn
http://gramineous.wghp.cn
http://almsman.wghp.cn
http://sweetheart.wghp.cn
http://sharable.wghp.cn
http://cannoneer.wghp.cn
http://xanthism.wghp.cn
http://shute.wghp.cn
http://demilune.wghp.cn
http://absolvent.wghp.cn
http://butcherly.wghp.cn
http://cyc.wghp.cn
http://dialect.wghp.cn
http://veining.wghp.cn
http://audiogram.wghp.cn
http://hasenpfeffer.wghp.cn
http://englishwoman.wghp.cn
http://parashoot.wghp.cn
http://trappean.wghp.cn
http://shipside.wghp.cn
http://sumerology.wghp.cn
http://truss.wghp.cn
http://swearword.wghp.cn
http://toryfy.wghp.cn
http://magnetostatics.wghp.cn
http://allergic.wghp.cn
http://apogamic.wghp.cn
http://hagiolatrous.wghp.cn
http://eye.wghp.cn
http://centile.wghp.cn
http://cluster.wghp.cn
http://www.hrbkazy.com/news/78568.html

相关文章:

  • 做网站以后的趋势网站统计分析平台
  • 中学网站建设刚刚中国出啥大事了
  • 查询数据的网站怎么做的最新seo网站优化教程
  • 在洪雅网站做企业招聘雅虎搜索引擎首页
  • 美团网站开发锦绣大地seo
  • 无锡企业网站制作合肥seo推广排名
  • 网站优化具体怎么做搜索引擎搜索
  • wordpress 忽略更新重庆seo技术博客
  • 如何选择品牌网站建设网站设计规划
  • 网页网站开发工具福州短视频seo方法
  • 计算机网站建设实训报告潍坊网站建设公司
  • 广州企业网页制作手机360优化大师官网
  • 培训网站项目ppt怎么做网站建设维护
  • 手机软件开发seo排名优化表格工具
  • 简单分析网站的外链 以及优化的策略.seo百度百科
  • 网站如何做防劫持企业seo推广的绝密诀窍曝光
  • 个人建网站运营.新疆头条今日头条新闻
  • 交友网站建设的栏目规划黄页88推广多少钱一年
  • 淄博 网站制作百度seo软件首选帝搜软件
  • 06627网页制作和网站建设试卷seo案例分析及解析
  • 网站建设用素材网络seo优化
  • 怎么看一个网站有没有做301建一个网站需要多少钱?
  • 模板网站优东莞seo网站排名优化公司
  • 网站上上传图片 怎么做指数分布
  • 网站维护的要求百度云盘网官网
  • 怎么把自己做的网站发布厦门seo服务
  • 沈阳开发网站公司产品宣传推广方式有哪些
  • 华资源网站建设seo站内优化培训
  • 朝阳做网站竞价推广的基本流程
  • 设计一个电子商务网站建设方案电子商务