All,
I am happily suprised with how efficient my attempt is. I whipped up a brute-force implementation and I am not sure when it will ever finish.
#!/usr/bin/perl use strict; use warnings; my @str = map {$_->[0]} sort {$a->[1] <=> $b->[1]} map {chomp; [$_, length($_)]} <DATA>; print LCS(@str), "\n"; sub LCS { my @str = @_; my $next = combo(split //, $str[0]); SUBSEQ: while (my @subseq = $next->()) { my $regex = join '.*', @subseq; $regex = qr/$regex/; for (1 .. $#str) { next SUBSEQ if $str[$_] !~ /$regex/; } return join '', @subseq; } } sub combo { # modified [id://394168] to generate long to short # - my ($by, $next) = (0, 1); # + my ($by, $next) = ($#list + 2, 1); # - $by++; # - return () if $by > @list; # + $by--; # +return () if ! $by; }
The pure regex brute-force solution by diotalevi is much better than this but still takes several minutes. Wow.

Cheers - L~R


In reply to Re: Longest Common Subsequence by Limbic~Region
in thread Longest Common Subsequence by Limbic~Region

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.