博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[ Algorithm ] LCS 算法 动态规划解决
阅读量:6672 次
发布时间:2019-06-25

本文共 1019 字,大约阅读时间需要 3 分钟。

LCS算法简述:

求出一个未知序列 s0 ,如果是两个或多个已知序列s1、s2、s3......sn的子序列,

则 未知序列s0 称为已知S序列集的最长公共子序列。

而最长公共子串(要求连续)和最长公共子序列是不同的。

算法原理,不一一细讲。

code 0 :

public static int Get_LCS_Length(string query, string keyword){    if (query == keyword) return query.Length;    int MaxLength = 0;    int QueryLength = query.Length;    int KeyWordLength = keyword.Length;    int[] QueryMatrix = new int[QueryLength >= KeyWordLength ? QueryLength : KeyWordLength];    if ((String.IsNullOrEmpty(query)) || (String.IsNullOrEmpty(keyword))) return 0;    if (query.IndexOf(keyword) > -1) return KeyWordLength;    for (int i = 0; i < QueryLength; i++)    {        for (int j = 0; j < KeyWordLength; j++)        {            if (query[i] == keyword[j])            {                if ((i == 0) || (j == 0)) QueryMatrix[j] = 1;                else QueryMatrix[j] = QueryMatrix[j - 1] + 1;            }            if (QueryMatrix[j] > MaxLength) MaxLength = QueryMatrix[j];        }    }    return MaxLength;}

 

 

 

转载于:https://www.cnblogs.com/VincentDao/p/3170781.html

你可能感兴趣的文章
MySQL性能分析
查看>>
IIS错误日志 事件ID: 1093
查看>>
解决Unable to resolve target 'android-7'报错
查看>>
Connections could not be acquired from the unde...
查看>>
UIAlertView 总结
查看>>
邮件服务器:SMTP协议原始命令码和工作原理
查看>>
在Sublime Text中配置 JavaScript 控制台(JavaScript Console in Sublime Text)
查看>>
python使用os模块获取当前目录
查看>>
DNS服务(一)——DNS原理及其解析过程详解
查看>>
卸载linux软件总结
查看>>
redhat 6.5 安装和配置zabbix客户端
查看>>
硬链接和软链接(2)
查看>>
几种REST服务JAVA客户端类库
查看>>
什么是Hijax?Hijax的原理及优缺点介绍
查看>>
【2016-03-17】移动互联网时代,看好你的隐私
查看>>
linux命令:编译安装postfix邮件服务
查看>>
vi命令集
查看>>
oracle数据库克隆
查看>>
输出 pdf
查看>>
PHPCMS一个BUG
查看>>