国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java字符串相似度算法

java字符串相似度算法

2019-12-09 14:37Benjamin_whx JAVA教程

這篇文章主要介紹了java字符串相似度算法,是Java實現比較典型的算法,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了java字符串相似度算法。分享給大家供大家參考。具體實現方法如下:

 

復制代碼代碼如下:
public class Levenshtein {
    private int compare(String str, String target) {
        int d[][]; // 矩陣
        int n = str.length();
        int m = target.length();
        int i; // 遍歷str的
        int j; // 遍歷target的
        char ch1; // str的
        char ch2; // target的
        int temp; // 記錄相同字符,在某個矩陣位置值的增量,不是0就是1
        
        if (n == 0) {
            return m;
        }
        
        if (m == 0) {
            return n;
        }
        
        d = new int[n + 1][m + 1];
        
        for (i = 0; i <= n; i++) { // 初始化第一列
            d[i][0] = i;
        }
        
        for (j = 0; j <= m; j++) { // 初始化第一行
            d[0][j] = j;
        }
        
        for (i = 1; i <= n; i++) { // 遍歷str
            ch1 = str.charAt(i - 1);
            // 去匹配target
            for (j = 1; j <= m; j++) {
                ch2 = target.charAt(j - 1);
                if (ch1 == ch2) {
                    temp = 0;
                } else {
                    temp = 1;
                }
                
                // 左邊+1,上邊+1, 左上角+temp取最小
                d[i][j] = min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + temp);
            }
        }
        
        return d[n][m];
    }
    
    private int min(int one, int two, int three) {
        return (one = one < two ? one : two) < three ? one : three;
    }
    
    /**
     * 獲取兩字符串的相似度
     * 
     * @param str
     * @param target
     * 
     * @return
     */
    
    public float getSimilarityRatio(String str, String target) {
        return 1 - (float) compare(str, target) / Math.max(str.length(), target.length());
        
    }
    
    public static void main(String[] args) {
        Levenshtein lt = new Levenshtein();
        String str = "ab";
        String target = "ac";
        System.out.println("similarityRatio=" + lt.getSimilarityRatio(str, target));
    }
}

 

希望本文所述對大家的Java程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 视频一区二区三 | 99视频在线免费观看 | 狠狠的日 | 久久综合一区 | 91久久久久久久久 | 中文字幕日韩欧美 | 日韩精品视频在线观看一区二区 | 在线免费观看av的网站 | 国产高清在线精品一区二区三区 | 欧美日韩国产在线 | 中文字幕av在线 | 99re在线播放视频 | 中文字幕成人在线 | 自拍偷拍小视频 | 国产一区二区三区在线看 | 狼人综合av| 一本久久综合亚洲鲁鲁五月天 | 日韩精品在线观看一区 | 一级a毛片 | 国产精品久久久久久久久福交 | 成年人免费网站 | 草草浮力影院 | 亚洲激情视频在线播放 | 日韩精品无码一区二区三区 | 国精品一区 | 日本高清中文字幕 | ririsao久久精品一区 | 中文字字幕一区二区三区四区五区 | 久久伊人国产 | 91网站免费 | 美日韩免费视频 | 在线视频一区二区三区 | 欧美日韩高清不卡 | 精品综合 | 精品久久久久久久久久久下田 | 激情网激情五月 | 成人午夜电影网 | 在线日本中文字幕 | 欧美性猛交一区二区三区精品 | 欧美日本一区 | 国产成人精品一区二区三区视频 |