RosettaCodeData/Task/Longest-increasing-subsequence/Picat/longest-increasing-subsequence-1.picat
2023-07-01 13:44:08 -04:00

11 lines
327 B
Text

table(+,+,max)
lis_mode(In, Out,OutLen) =>
one_is(In, [], Is),
Out = reverse(Is),
OutLen = Out.length.
one_is([], Current, Current2) => Current = Current2.
one_is([H|T], Current, Final) =>
( Current = [], one_is(T, [H], Final));
( Current = [H1|_], H1 @< H, one_is(T, [H|Current], Final));
one_is(T, Current, Final).