java数组相似度_Java 比较两个字符串的相似度算法(Levenshtein Distance)

本文介绍了使用Java实现Levenshtein Distance算法来比较两个字符串的相似度,这是一种衡量字符串编辑距离的方法。通过动态规划,计算替换、插入、删除字符的最小操作次数,以达到从一个字符串转换到另一个字符串的目标。示例代码展示了如何计算两个字符串的相似度比率。
摘要由CSDN通过智能技术生成

转载自: https://blog.csdn.net/JavaReact/article/details/82144732

ea148c2ee42fd92e772b4c66d2790790.png

算法简介:

Levenshtein Distance,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。

许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。

编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。

/**

* 比较两个字符串的相识度

* 核心算法:用一个二维数组记录每个字符串是否相同,如果相同记为0,不相同记为1,每行每列相同个数累加

* 则数组最后一个数为不相同的总数,从而判断这两个字符的相识度

*

* @param str

* @param target

* @return

*/

private static int compare(String str, String target) {

int d[][]; // 矩阵

int n = str.length();

int m = target.length();

int i; // 遍历str的

int j; // 遍历

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值