7 lines
337 B
Scala
7 lines
337 B
Scala
def lcsRec[T]: (IndexedSeq[T], IndexedSeq[T]) => IndexedSeq[T] = {
|
|
case (a +: as, b +: bs) if a == b => a +: lcsRec(as, bs)
|
|
case (as, bs) if as.isEmpty || bs.isEmpty => IndexedSeq[T]()
|
|
case (a +: as, b +: bs) =>
|
|
val (s1, s2) = (lcsRec(a +: as, bs), lcsRec(as, b +: bs))
|
|
if(s1.length > s2.length) s1 else s2
|
|
}
|