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

上传产品网站怎么做的做网站公司分为国内还是国外

上传产品网站怎么做的,做网站公司分为国内还是国外,wordpress热门文章调用,中国国际新闻为了求解将 word1 转换成 word2 所需的最少操作数,可以使用动态规划。以下是详细的解决方案: ### 方法思路 1. **定义状态** dp[i][j] 表示将 word1 的前 i 个字符转换成 word2 的前 j 个字符所需的最少操作数。 2. **状态转移方程** - 如果 word1[…

为了求解将 `word1` 转换成 `word2` 所需的最少操作数,可以使用动态规划。以下是详细的解决方案:

 

### 方法思路

1. **定义状态**  

   `dp[i][j]` 表示将 `word1` 的前 `i` 个字符转换成 `word2` 的前 `j` 个字符所需的最少操作数。

 

2. **状态转移方程**  

   - 如果 `word1[i-1] == word2[j-1]`(字符相同),直接继承前一步的结果:  

     `dp[i][j] = dp[i-1][j-1]`。

   - 如果字符不同,选择以下三种操作中的最小值:  

     - **替换**:`dp[i-1][j-1] + 1`(替换当前字符)。  

     - **删除**:`dp[i-1][j] + 1`(删除 `word1` 的第 `i` 个字符)。  

     - **插入**:`dp[i][j-1] + 1`(在 `word1` 末尾插入字符以匹配 `word2` 的第 `j` 个字符)。  

 

3. **初始化**  

   - `dp[i][0] = i`:将 `word1` 的前 `i` 个字符删除为空字符串需要 `i` 次操作。  

   - `dp[0][j] = j`:将空字符串插入为 `word2` 的前 `j` 个字符需要 `j` 次操作。

 

### 解决代码

```java

import java.util.Scanner;

 

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        String word1 = sc.nextLine();

        String word2 = sc.nextLine();

        System.out.println(minDistance(word1, word2));

    }

 

    public static 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 = 0; i <= m; i++) {

            dp[i][0] = i; // 删除操作

        }

        for (int j = 0; j <= n; j++) {

            dp[0][j] = 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(

                        dp[i - 1][j - 1], // 替换

                        Math.min(dp[i - 1][j], dp[i][j - 1]) // 删除或插入

                    ) + 1;

                }

            }

        }

 

        return dp[m][n];

    }

}

```

 

### 代码解释

1. **初始化**  

   处理边界情况,当其中一个字符串为空时,操作数为另一个字符串的长度。

 

2. **动态规划填充**  

   遍历所有可能的子问题,根据字符是否相同选择直接继承或取三种操作的最小值。

 

3. **时间复杂度**  

   \(O(m \times n)\),其中 \(m\) 和 \(n\) 分别为 `word1` 和 `word2` 的长度。

 

该方法通过动态规划高效地计算了最小编辑距离,覆盖了所有可能的操作情况。

http://www.dtcms.com/wzjs/563988.html

相关文章:

  • 抽奖怎么做网站做海报免费素材网站有哪些
  • centos 7.3 wordpressseo短期培训班
  • 合肥高端网站建设设计公司哪家好我想注册公司怎么注册
  • 学做美食交流网站有哪些广州经济技术开发区
  • 免费网站域名注册申请做钓鱼网站用哪种编程语言
  • 网站式登录页面模板下载地址网站做动态和静态哪个贵
  • 大型物流公司网站html5网站开发实例书籍
  • 普洱网站建设优化上海短视频推广
  • 东莞机械网站建设wordpress淘宝客单页模板
  • 石家庄网站建设高端黑龙江省城乡和建设厅网站
  • 在线短视频网站开发费用做注册会员和购物的网站需要什么
  • 西宁市企业建站专业wordpress下载安装
  • 网站推广团队兰州网站制作成都
  • 4昌平区网站建设做网站客户端
  • 国外的建筑设计案例网站免费推广产品的平台
  • 搭建网站 软件下载网站流量统计分析
  • wordpress网站加载效果建站教程图解
  • 专业网站设计多少钱北京前端开发的薪资水平
  • 常州建设公司网站html怎么做动态页面
  • 网站建设公司果动流量推广平台
  • 手机网站模板psdIT做网站工资怎么样
  • 中国档案网站建设现状研究app应用程序
  • 上海城市分站seo室内装修设计企业
  • 代理厦门网站设计公司和县网站制作
  • 桐乡哪里有做网站的双语网站建设公司
  • 如何建立免费的网站wordpress注册邮箱收不到验证码
  • 沧州网站建设沧州怎样用flash做网站
  • 网站建设和维护费用唯品会 一家专做特卖的网站
  • 提高网站粘性市场营销咨询
  • 怎么做才能使网站ip增多漯河最新今天的消息