Advertisement
Guest User

Untitled

a guest
Oct 9th, 2015
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. empaquetar :: [Integer] -> [[Integer]]
  2. empaquetar x : [] = (x : []) : [] --seria [[x]]
  3. empaquetar x1 : (x2 : xs) | x1 == x2 = concatenaListDeList x1 (empaquetar(x2 : xs))
  4. empaquetar x1 : (x2 : xs) | otherwise = (x1 : []) : empaquetar (x2 : xs)
  5.  
  6. concatenaListDeList :: Integer -> [[Integer]] -> [[Integer]]
  7. concatenaListDeList i (x1 : (x2 : xs)) = ((i : x1) : (x2 : xs)
  8.  
  9. {- segun el profe:
  10. paquete :: [Integer] -> [[Integer]]
  11. paquete [] = []
  12. paquete (x : []) = (x : []) : []
  13. paquete (x1 : x2 : xs) | x1 == x2 = (x1 : head rec) : (tail rec)
  14. paquete (x1 : x2 : xs) | otherwise = (x1 : []) : rec
  15. where rec = empaquetar (x2 : xs)
  16.  
  17. truco bizarro con patern matchin en el where (terminas no usando head y tail):
  18.  
  19. paquete :: [Integer] -> [[Integer]]
  20. paquete [] = []
  21. paquete (x : []) = (x : []) : []
  22. paquete (x1 : x2 : xs) | x1 == x2 = (x1 : y) : ys
  23. paquete (x1 : x2 : xs) | otherwise = (x1 : []) : rec
  24. where rec @ (y : ys) = empaquetar (x2 : xs)
  25.  
  26. -}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement