企业网站软件如何用google搜索产品关键词

张小明 2026/1/8 4:29:43
企业网站软件,如何用google搜索产品关键词,wordpress 文章数据表,wordpress文章显缩络图一、动态规划解编辑距离的核心原理编辑距离#xff08;Levenshtein 距离#xff09;的动态规划解法核心是用二维数组存储子问题的解#xff0c;避免递归的重复计算#xff0c;其核心逻辑基于#xff1a;定义dp[i][j]#xff1a;表示将word1的前i个字符转换成word2的前j个…一、动态规划解编辑距离的核心原理编辑距离Levenshtein 距离的动态规划解法核心是用二维数组存储子问题的解避免递归的重复计算其核心逻辑基于定义dp[i][j]表示将word1的前i个字符转换成word2的前j个字符所需的最少操作次数。边界条件dp[i][0] i把word1前i个字符转成空字符串需要删除i次dp[0][j] j把空字符串转成word2前j个字符需要插入j次。状态转移如果word1[i-1] word2[j-1]当前字符相等无需操作dp[i][j] dp[i-1][j-1]如果word1[i-1] ! word2[j-1]当前字符不等取「删除、插入、替换」三种操作的最小值 1即dp[i][j] min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1]) 1。二、动态规划解法代码逐行解析下面针对dpEditDistance函数逐行拆解帮你理解每一步的作用int dpEditDistance(string word1, string word2) { // 1. 获取两个字符串的长度mword1长度nword2长度 int m word1.size(), n word2.size(); // 2. 定义DP表静态二维数组大小(MAX_LEN1)x(MAX_LEN1) // 为什么1因为dp[i][j]对应前i/j个字符需要包含i0/j0的边界情况 int dp[MAX_LEN 1][MAX_LEN 1]; // 3. 初始化边界条件核心 // 边界1word2为空word1前i个字符转空需要删除i次 for (int i 0; i m; i) dp[i][0] i; // 边界2word1为空空字符串转word2前j个字符需要插入j次 for (int j 0; j n; j) dp[0][j] j; // 4. 填充DP表核心状态转移 // 遍历word1的每个字符i从1到m对应前i个字符 for (int i 1; i m; i) { // 遍历word2的每个字符j从1到n对应前j个字符 for (int j 1; j n; j) { // 情况1当前字符相等word1[i-1]是第i个字符因为数组从0开始 if (word1[i - 1] word2[j - 1]) { // 无需操作直接继承前i-1和j-1的结果 dp[i][j] dp[i - 1][j - 1]; } else { // 情况2当前字符不等取三种操作的最小值1 // dp[i-1][j]删除word1第i个字符操作数1 // dp[i][j-1]给word1插入word2第j个字符操作数1 // dp[i-1][j-1]替换word1第i个字符为word2第j个字符操作数1 dp[i][j] min(min(dp[i - 1][j], dp[i][j - 1]), dp[i - 1][j - 1]) 1; } } } // 5. 返回最终结果word1全量转word2全量的最少操作次数 return dp[m][n]; }三、实际执行示例以 horse→ros 为例我们用代码中的测试用例word1horsem5、word2rosn3看 DP 表的填充过程步骤 1初始化边界i\j0 (空)1 (r)2 (ro)3 (ros)001231122334455步骤 2填充 DP 表关键节点i1 (h)、j1 (r)h≠r→min(dp[0][1], dp[1][0], dp[0][0])1 min(1,1,0)11→dp[1][1]1i3 (r)、j1 (r)rr→dp[3][1] dp[2][0] 2i5 (e)、j3 (s)e≠s→min(dp[4][3], dp[5][2], dp[4][2])1→ 最终dp[5][3]3和代码输出一致。最终结果dp[5][3]3表示 horse 转 ros 最少需要 3 次操作删除 h、删除 e、替换 s→e或其他等价操作。四、动态规划解法的优化点可选你提供的代码用了静态二维数组虽然简单但有优化空间适合新手进阶空间优化一维数组观察状态转移可知dp[i][j]只依赖dp[i-1][j]、dp[i][j-1]、dp[i-1][j-1]因此可以用一维数组代替二维数组空间复杂度从O(m∗n)降到O(min(m,n))int dpEditDistanceOpt(string word1, string word2) { int m word1.size(), n word2.size(); // 用一维数组长度为较短字符串1 if (m n) return dpEditDistanceOpt(word2, word1); int dp[n 1]; // 初始化边界 for (int j 0; j n; j) dp[j] j; // 填充一维DP for (int i 1; i m; i) { int prev dp[0]; // 保存dp[i-1][j-1]的值 dp[0] i; // 对应dp[i][0] i for (int j 1; j n; j) { int temp dp[j]; // 保存当前dp[j]即dp[i-1][j] if (word1[i-1] word2[j-1]) { dp[j] prev; } else { dp[j] min(min(dp[j], dp[j-1]), prev) 1; } prev temp; // 更新prev为下一轮的dp[i-1][j-1] } } return dp[n]; }总结动态规划解法的核心要点dp[i][j]定义为「word1 前 i 个字符转 word2 前 j 个字符的最少操作数」是整个解法的基础边界条件处理空字符串的特殊情况状态转移覆盖「删除、插入、替换」三种操作相比纯递归动态规划通过迭代填充 DP 表时间复杂度O(m∗n)无重复计算相比记忆化递归无需递归调用栈效率更高。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

家居网站建设咨询营销网站建设苏州

如何为Kotaemon添加自定义身份认证与权限控制? 在企业级智能对话系统日益深入客服、知识管理、内部助手等核心业务场景的今天,一个看似“功能完备”的 RAG 应用若缺乏有效的访问控制机制,其上线即意味着风险暴露。试想:一名普通员…

张小明 2026/1/6 10:55:34 网站建设

高端网站建设公司好不好昆明大型网页开发企业

从理论到代码:手把手教你实现AI原生混合推理模型 关键词:AI原生混合推理模型、理论基础、代码实现、推理流程、应用场景 摘要:本文旨在带领大家从理论层面深入了解AI原生混合推理模型,再通过详细的代码示例手把手教大家实现这一模型。我们会逐步分析模型的核心概念、原理架…

张小明 2026/1/5 6:34:42 网站建设

30天网站建设实录视频强化网站建设和管理

Shell脚本编写与Bash安装指南 1. Shell脚本编写最佳实践 在编写Shell脚本时,我们不仅要让代码完成任务,还要确保其具有可维护性,遵循良好的编程实践。 1.1 代码可读性 编写脚本时,代码的可读性至关重要。例如,六个月前编写的100行脚本,现在可能自己都难以理解其功能。…

张小明 2026/1/5 11:00:13 网站建设

网站需要怎么做的宣传网站怎么做

Kotaemon异常检测机制:自动识别低质量回答并预警 在构建企业级智能问答系统的实践中,一个反复出现的难题是:如何确保大语言模型(LLM)输出的内容不仅流畅自然,而且准确可靠?尤其是在医疗咨询、金…

张小明 2026/1/7 22:24:27 网站建设

rp如何做网站做那个的视频网站

基于springboot的美食分享系统 目 录 摘要 Abstract 1 绪论 1.1 研究背景和意义 1.2研究现状 1.2.1国内研究现状 1.2.2国外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统功能分析 2.2.1系统功能性需求分析 2.2.2系统非功能性需求分析 2.3系…

张小明 2026/1/6 4:44:20 网站建设

北京市建设网站首页家具网站开发目的

阿里云盘Refresh Token扫码获取技术完全指南 【免费下载链接】aliyundriver-refresh-token QR Code扫码获取阿里云盘refresh token For Web 项目地址: https://gitcode.com/gh_mirrors/al/aliyundriver-refresh-token 在云存储应用开发中,阿里云盘API授权是许…

张小明 2026/1/5 9:11:09 网站建设