diff options
Diffstat (limited to 'h13.hs')
-rw-r--r-- | h13.hs | 15 |
1 files changed, 0 insertions, 15 deletions
@@ -1,15 +0,0 @@ -data ListItem a = Single a | Multiple a Int - deriving (Show) - -encode :: Eq a => [a] -> [(a,Int)] -encode = foldr encodeHelper [] - where - encodeHelper a p@((x,c):ps) | x==a = (a,c+1):ps - encodeHelper a p = (a,1):p - -encodeDirect :: Eq a => [a] -> [ListItem a] -encodeDirect = map encodeHelper . encode - where - encodeHelper (a,c) - | c>1 = Multiple a c - | otherwise = Single a |