RosettaCodeData/Task/Longest-common-subsequence/Wren/longest-common-subsequence.wren
2023-07-01 13:44:08 -04:00

14 lines
376 B
Text

var lcs // recursive
lcs = Fn.new { |x, y|
if (x.count == 0 || y.count == 0) return ""
var x1 = x[0...-1]
var y1 = y[0...-1]
if (x[-1] == y[-1]) return lcs.call(x1, y1) + x[-1]
var x2 = lcs.call(x, y1)
var y2 = lcs.call(x1, y)
return (x2.count > y2.count) ? x2 : y2
}
var x = "thisisatest"
var y = "testing123testing"
System.print(lcs.call(x, y))