0votos

Compresión RLE en Haskell

por josejuan hace 6 años

Usando patrones de haskell

Método sencillo para la compresión de información utilizado cuando ésta contiene datos contiguos iguales.

1
2
3
g (x:_:_:_:_:xs) = '5':x:g xs 
g (x:xs) = (show$ 1+length xs) ++ [x] 
rle = concat.map g.group 
3 comentarios
0votos

Escrito por jneira hace 6 años

+1 aunque puedes usar concatMap
0votos

Escrito por jneira hace 6 años

Estudiando tu solucion me ha saltado un error cuando la entrada contiene una secuencia de exactamente 5 caracteres iguales.
0votos

Escrito por josejuan hace 6 años

Tienes razón, es una pena que no se puedan editar las soluciones, falta el pattern:

g [] = []


¡Cachis!

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.