腾讯面试题之Java实现莱文斯坦(相似度)算法

收藏了1万条url,现在给你一条url,如何找出相似的url

使用Levenshtein(莱文斯坦)编辑距离来实现相似度算法 所谓Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,操作包括一切你使用的手段将一个字符串转换成另一个字符串,比如插入一个字符、删除一个字符..等等;操作次数越少,说明两个字符串距离Levenshtein Distance越小,表示两个字符串越相似。 

定义相似度=1-莱文斯坦距离/两个url的最大长度

1、UrlSimilar.java

package com.week.similar;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;

public class UrlSimilar {

    public static void main(String[] args) {
        String url = "www.tencent.com";
        String kFile = "url.txt";
        FileInputStream inputStream = null;
        Scanner sc = null;
        try {
            inputStream = new FileInputStream(kFile);
            sc = new Scanner(inputStream, "UTF-8");
            //我们将使用Java.util.Sc
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__ 返回首页
实付 79.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值