Copyright | Exercitium (05-05-14) |
---|---|
License | GPL-3 |
Maintainer | JoseA.Alonso@gmail.com |
Safe Haskell | Safe |
Language | Haskell2010 |
MaximosLocales
Description
Un máximo local de una lista es un elemento de la lista que es mayor que su predecesor y que su sucesor en la lista. Por ejemplo, 5 es un máximo local de [3,2,5,3,7,7,1,6,2] ya que es mayor que 2 (su predecesor) y que 3 (su sucesor).
Definir la función
maximosLocales :: Ord a => [a] -> [a]
tal que (maximosLocales xs) es la lista de los máximos locales de la lista xs. Por ejemplo,
>>>
maximosLocales [3,2,5,3,7,7,1,6,2]
[5,6]>>>
maximosLocales [1..100]
[]>>>
maximosLocales "adbpmqexyz"
"dpq"
- maximosLocales :: Ord a => [a] -> [a]
- maximosLocales2 :: Ord a => [a] -> [a]
- prop_maximosLocales :: Ord a => [a] -> Bool
- verifica_maximosLocales :: IO ()
Documentation
maximosLocales :: Ord a => [a] -> [a] Source #
1ª definición (por recursión):
maximosLocales2 :: Ord a => [a] -> [a] Source #
2ª definición (por comprensión):
prop_maximosLocales :: Ord a => [a] -> Bool Source #
(prop_prop_maximosLocales xs) se verifica si las definiciones de maximosLocales son equivalentes sobre xs. Por ejemplo,
>>>
prop_maximosLocales [3,2,5,3,7,7,1,6,2]
True>>>
prop_maximosLocales [1..100]
True>>>
prop_maximosLocales "adbpmqexyz"
True
verifica_maximosLocales :: IO () Source #
Comprueba la equivalencia de las definiciones de maximosLocales.
>>>
verifica_maximosLocales
+++ OK, passed 100 tests.