java 相似度匹配算法

本文介绍了如何使用Java实现字符串之间的相似度匹配算法,主要涉及二维和一维动态规划方法。通过编辑距离来衡量字符串的相似性,文章引用了'labuladong'的《算法小抄》进行思路讲解,并提供了相应的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相似度匹配算法实际是计算字符串之间的编辑距离。

经常刷算法的同学,就应该知道这个是一个可迭代可递归实现的中难度的leetcode算法。

详细思路可以在【思路分析指引】看看,我就直接给出对应的的代码!

二维dp算法

/**
	 * 相似du匹配算法,约靠近返回的值越高
	 * @param target
	 * @param findOb
	 * @return
	 */
	public static double matchStr(String target ,Object findOb ) {
		//length
		String find = String.valueOf(findOb);
		int Length1 = target.length();
		int Length2 = find.length();
		int distance = 0;
		if (Length1 == 0) {
			distance = Length2;
		}
		if (Length2 == 0) {
			distance = Length1;
		}
		if (Length1 != 0 && Length2 != 0) {
			int[][] dp = new int[Length1 + 1][Length2 + 1];
			//编号
			int initValue = 0;
			for (int i = 0; i <= Length1; i++) {
				dp[i][0] = initValue;
				initValue++;
			}
			initValu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值