美文网首页
编辑距离的java代码

编辑距离的java代码

作者: wz的技术窝 | 来源:发表于2023-03-19 19:39 被阅读0次

编辑距离(Edit Distance),也称为Levenshtein距离,是用来比较两个字符串之间的相似度的方法。它可以通过一系列的编辑操作将一个字符串转换为另一个字符串,包括插入、删除和替换等操作。

以下是一个Java代码示例,用于计算两个字符串之间的编辑距离:

public class EditDistance {

    public static int editDistance(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;

        }

        // 计算距离矩阵

        for (int i = 1; i <= m; i++) {

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

                int cost = (word1.charAt(i - 1) == word2.charAt(j - 1)) ? 0 : 1;

                dp[i][j] = Math.min(Math.min(dp[i - 1][j] + 1, dp[i][j - 1] + 1), dp[i - 1][j - 1] + cost);

            }

        }

        return dp[m][n];

    }

    public static void main(String[] args) {

        String word1 = "kitten";

        String word2 = "sitting";

        System.out.println("编辑距离为:" + editDistance(word1, word2));

    }

}

这个示例代码中的 editDistance() 方法接收两个字符串作为参数,计算并返回它们之间的编辑距离。该方法使用动态规划算法实现,时间复杂度为 O(mn),其中 m 和 n 分别是两个字符串的长度。在这个示例中,我们计算了单词"kitten"和"sitting"之间的编辑距离。

相关文章

  • 编辑距离算法 C++实现

    编辑距离算法 LeetCode-72-编辑距离, 以下代码均是根据此题的解法 编辑距离是什么? 答: 编辑距离指的...

  • VS Code中进行Java开发(2):代码编辑

    编辑Java代码 作为Java编辑器,它还支持 Code Lens(引用)和鼠标悬停显示 Javadoc。 还能够...

  • CudaText for Mac(代码编辑器) v1.80.0.

    CudaText Mac版小巧的代码编辑器能够获得代码编辑器去使用html以及java等不同颜色代码进行颜色的多样...

  • CudaText for Mac(代码编辑器) v1.810.2

    CudaText Mac版小巧的代码编辑器能够获得代码编辑器去使用html以及java等不同颜色代码进行颜色的多样...

  • flume RPC 接口开发

    创建项目 使用mvn创建项目 编辑pom.xml,添加相关依赖: 编辑代码 编辑App.java: 打包Jar 启...

  • java的动态代理小记

    1、静态代理与动态代理区别 java class文件加载 一个正常的java工程,是在编辑器里编辑代码,通过编译生...

  • java-01

    java文件命名规范 以 .java结尾 class类 注意代码规范,缩进 java运行首先我们在编辑器里面编译好...

  • 序列比对(二十五)——编辑距离

    原创:hxj7 本文介绍两个字符串的编辑距离并给出代码。 编辑距离 所谓编辑距离,就是给定两个字符串后,将一个字符...

  • Edit Distance(编辑距离)

    前言 今天看了Stanford编辑距离代码,感觉写得不错,写一篇博客记录下。 编辑距离的定义是:从字符串A到字符串...

  • JAVA基础第一天

    1. JAVA重要特性 2.JAVA的开发工具:IDEA,eclipse;sublime文本编辑器,前期手写代码;...

网友评论

      本文标题:编辑距离的java代码

      本文链接:https://www.haomeiwen.com/subject/yfvyrdtx.html