激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

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

java字符串相似度算法

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

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

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

 

復(fù)制代碼代碼如下:
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程序設(shè)計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男女无遮挡羞羞视频 | 国产在线观看91一区二区三区 | 亚洲一区在线观看视频 | 国内精品久久久久久久星辰影视 | 久久精品国产清自在天天线 | 国产精品久久久久久久久久妇女 | 九九热在线免费观看视频 | 性高潮一级片 | 奇米影视四色7777 | 欧美日韩中文字幕在线视频 | 羞羞网站在线观看入口免费 | 久草在线观看资源 | 亚洲四播房| 国产精品久久亚洲 | 一级黄色影片在线观看 | 久久国产精品二国产精品中国洋人 | 激情小说色 | 激情小说激情图片激情电影 | 新久草在线视频 | 综合图区亚洲 | 亚洲精品无码不卡在线播放he | 精品免费在线视频 | 一级大黄毛片 | 黄视频免费在线观看 | 视频一区二区在线播放 | 欧美精品一二三区 | 色999中文字幕 | 黄视频免费观看 | 在线影院av | 叶子楣成人爽a毛片免费啪啪 | 日韩黄色片免费看 | aaaaaaa毛片 | 91精品国产日韩91久久久久久360 | 成人网视频 | 日本在线视频免费观看 | 插插操 | 国产99视频在线观看 | 国产成人精品无人区一区 | 性看小视频 | 亚洲国产精品一区 | 黄色香蕉视频 |