triun / 最长公共子序列
PHP 实现的解决 '最长公共子序列' 问题算法。
1.1.0
2018-05-10 12:40 UTC
Requires
- php: >=7.0.0
Requires (Dev)
- phpunit/phpunit: ^6.5
- squizlabs/php_codesniffer: ^3.2
- symfony/var-dumper: ^3.4
This package is auto-updated.
Last update: 2024-09-17 22:06:33 UTC
README
PHP 实现的解决 最长公共子序列
问题算法。
关于
PHP-Longest-Common-Subsequence 是一个 PHP 实现的解决 '最长公共子序列' 问题算法。
最长公共子序列(LCS)问题是指在一个序列集合中(通常只有两个序列)找到所有序列的公共子序列中最长的序列的问题。它与 最长公共子串问题 不同:与子串不同,子序列不需要在原始序列中占用连续的位置。最长公共子序列问题是一个经典的 计算机科学 问题,是 数据比较 程序(如 diff 工具)的基础,并在 生物信息学 中有应用。它也被 版本控制系统(如 Git)广泛使用,用于 合并 对受控文件集进行的多个更改。
这个 PHP 实现基于 eloquent/php-lcs,增加了一些灵活性,以便处理不仅是公共文本,还包括差异。
安装
使用以下命令通过 triun/longest-common-subsequence 包 和 composer 安装
composer require triun/longest-common-subsequence
用法
use Triun\LongestCommonSubsequence\Solver; $solver = new Solver; $sequenceA = array('B', 'A', 'N', 'A', 'N', 'A'); $sequenceB = array('A', 'T', 'A', 'N', 'A'); // calculates the LCS to be array('A', 'A', 'N', 'A') $lcs = $solver->solve($sequenceA, $sequenceB);
问题
可以在 Github Issue Tracker 上提交错误报告和功能请求。
贡献
有关信息,请参阅 CONTRIBUTING.md。
许可
此存储库是开源软件,受 MIT 许可 许可。