Free Palestine and Lebanon 🍉 Stop the Genocide
Haskell Logo

Programação Funcional

Questão 36: preCrescente

Voltar

Defina a função preCrescente :: Ord a => [a] -> [a] que calcula o maior prefixo crescente de uma lista.

Exemplo

> preCrescente [3,7,9,6,10,22]
[3,7,9]

Resolução

Clica para revelar

preCrescente :: Ord a => [a] -> [a]
preCrescente [] = []
preCrescente [x] = [x]
preCrescente (h:s:t)
    | s >= h = h : preCrescente (s:t)
    | otherwise = [h]