Máxima longitud de sublistas crecientes

Definir la función

tal que (longitudMayorSublistaCreciente xs) es la el máximo de las longitudes de las sublistas crecientes de xs. Por ejemplo,

Soluciones

Pensamiento

No es el yo fundamental
eso que busca el poeta,
sino el tú esencial.

Antonio Machado

4 Comentarios

  1. Solución en Maxima:

    sublistasCrecientes (xs):=
    if emptyp (xs) then [[]] 
    else g(xs) $
    g(xs):=  append (sublistasCrecientes (tail(xs)),
    makelist(f(head (xs),ys), ys,sublistasCrecientes (rest(xs,1))))$
    f(x,ys) :=if emptyp(ys) then cons(x,ys) else if x<first(ys)
    then cons(x,ys) else []$
    correccion (xs):=unique(delete([],sublistasCrecientes (xs)))$
    longitudMaximaSublistasCrecientes (xs):=lmax (map (length,correccion(xs)))$

Leave a Reply to frahidzamCancel reply