• C# 字符串相似度算法


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace 字符串相似度
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            ******* void button1_Click(object sender, EventArgs e)
            {
                String str1 = textBox1.Text;
                String str2 = textBox2.Text;
                label3.Text = get_semblance_By_2words(str1, str2);
            }

            public static string get_semblance_By_2words(string word1, string word2)
            {
                int re = 0;
                int maxLength;
                int i, l;
                List<string> tb1 = new List<string>();
                List<string> tb2 = new List<string>();
                i = 0;
                l = 1;
                maxLength = word1.Length;
                if (word1.Length < word2.Length)
                    maxLength = word2.Length;
                while (l <= word1.Length)
                {
                    while (i < word1.Length - 1)
                    {
                        if (i + l > word1.Length)
                            break;
                        tb1.Add(word1.Substring(i, l));
                        i++;
                    }
                    i = 0;
                    l++;
                }

                i = 0;
                l = 1;

                while (l <= word2.Length)
                {
                    while (i < word2.Length - 1)
                    {
                        if (i + l > word2.Length)
                            break;
                        tb2.Add(word2.Substring(i, l));
                        i++;
                    }
                    i = 0;
                    l++;
                }
                foreach (string subStr in tb1)
                {
                    int tempRe = 0;
                    if (tb2.Contains(subStr))
                    {
                        tempRe = subStr.Length * 100 / maxLength;
                        if (tempRe > re)
                            re = tempRe;
                        if (tempRe == 100)
                            break;
                    }
                }
                return re.ToString() + "%";
            }

        }
    }
     

    源代码下载

  • 相关阅读:
    Spring Cloud Gateway 路由动态配置
    Spring cloud Gateway HTTS配置
    Spring Gateway 全局过滤器 Global Filters
    Spring Cloud Gateway内置GatewayFilter工厂类(四)
    Spring Cloud Gateway内置GatewayFilter工厂类(三)
    lumen框架的辅助函数
    php算法基础----时间复杂度和空间复杂度
    php数据结构之二叉树
    PHP利用二叉堆实现TopK-算法的方法详解
    php实现菲波那切数列和杨辉三角
  • 原文地址:https://www.cnblogs.com/hackpig/p/1668492.html
Copyright © 2020-2023  润新知