此包已被废弃且不再维护。未建议任何替代包。

PHP实现的'最长公共子序列'算法。

2.0.0 2014-02-17 06:24 UTC

This package is auto-updated.

Last update: 2023-08-08 04:19:24 UTC


README

不再维护

此包不再维护。有关更多信息,请参阅此声明

PHP-LCS

PHP实现的'最长公共子序列'算法。

The most recent stable version is 2.0.0 Current build status image Current coverage status image

安装和文档

PHP-LCS是什么?

PHP-LCS 是一个PHP实现,用于解决'最长公共子序列'问题。

来自 Wikipedia - 最长公共子序列问题

**最长公共子序列(LCS)问题** 是寻找一组序列(通常是两个)中所有序列共有的最长**子序列**。请注意,子序列与子串不同,请参阅 子串与子序列。这是一个经典的**计算机科学**问题,是**文件比较**程序(如 diff)的基础,并在**生物信息学**中有应用。

用法

use Eloquent\Lcs\LcsSolver;

$solver = new LcsSolver;

$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->longestCommonSubsequence($sequenceA, $sequenceB);

序列中的元素可以是任何东西。默认情况下,使用 === 操作符比较序列成员。要自定义此比较,只需使用自定义比较器构造解算器,如下所示

use Eloquent\Lcs\LcsSolver;

$solver = new LcsSolver(
    function ($left, $right) {
        // return true if $left and $right are equal
    }
);