Преглед изворни кода

better split in day 6

master
Thorn Avery пре 3 година
родитељ
комит
2dc820fc5b
2 измењених фајлова са 10 додато и 7 уклоњено
  1. +4
    -7
      day6.hs
  2. +6
    -0
      split.hs

+ 4
- 7
day6.hs Прегледај датотеку

@@ -16,10 +16,7 @@ match as bs = (sort . nub) $ filter (`elem` bs) as

split :: Eq a => a -> [a] -> [[a]]
split _ [] = []
split v as = split' v as [] []

split' :: Eq a => a -> [a] -> [a] -> [[a]] -> [[a]]
split' _ [] a as = as ++ [a]
split' v (b:bs) a as
| b == v = split' v bs [] (as ++ [a])
| otherwise = split' v bs (a ++ [b]) as
split d as = chunk : (split d rest)
where
chunk = takeWhile (/= d) as
rest = drop 1 $ dropWhile (/= d) as

+ 6
- 0
split.hs Прегледај датотеку

@@ -0,0 +1,6 @@
split :: Eq a => a -> [a] -> [[a]]
split _ [] = []
split d as = chunk : (split d rest)
where
chunk = takeWhile (/= d) as
rest = drop 1 $ dropWhile (/= d) as

Loading…
Откажи
Сачувај