Shortest common supersequence: Difference between revisions

m
Added Sidef
(Simpler D entry)
m (Added Sidef)
Line 209:
<pre>
SCS(abcbdab, bdcaba) = abcbdcaba
</pre>
 
=={{header|Sidef}}==
{{trans|Perl}}
Uses the ''lcs'' function defined [http://rosettacode.org/wiki/Longest_common_subsequence#Sidef here].
<lang ruby>func scs(u, v) {
var ls = lcs(u, v).chars
var pat = Regex('(.*)'+ls.join('(.*)')+'(.*)')
u.scan!(pat)
v.scan!(pat)
var ss = (u.shift + v.shift)
ls.each { |c| ss += (c + u.shift + v.shift) }
return ss
}
 
say scs("abcbdab", "bdcaba")</lang>
{{out}}
<pre>
abdcabdab
</pre>
 
2,747

edits