15 lines
405 B
Raku
15 lines
405 B
Raku
sub lcs {
|
|
my ($a, $b) = @_;
|
|
if (!length($a) || !length($b)) {
|
|
return "";
|
|
}
|
|
if (substr($a, 0, 1) eq substr($b, 0, 1)) {
|
|
return substr($a, 0, 1) . lcs(substr($a, 1), substr($b, 1));
|
|
}
|
|
my $c = lcs(substr($a, 1), $b) || "";
|
|
my $d = lcs($a, substr($b, 1)) || "";
|
|
return length($c) > length($d) ? $c : $d;
|
|
}
|
|
|
|
print lcs("thisisatest", "testing123testing") . "\n";
|