Sha256: 2d4e3c696fd176972a9c5c1901104c993363036896759461247ecc967d7041e5
Contents?: true
Size: 794 Bytes
Versions: 240
Compression:
Stored size: 794 Bytes
Contents
module LargestSeriesProduct ( largestProduct ) where import Prelude import Data.Array (drop, length, take, (:)) import Data.Foldable (maximum, product) import Data.Int (fromString) import Data.Maybe (Maybe(..)) import Data.String (singleton, toCharArray) import Data.Traversable (sequence) spans :: forall a. Int -> Array a -> Array (Array a) spans n a | length a < n = [] | otherwise = take n a : spans n (drop 1 a) toIntArray :: String -> Maybe (Array Int) toIntArray = toCharArray >>> map (singleton >>> fromString) >>> sequence largestProduct :: String -> Int -> Maybe Int largestProduct digits span | span == 0 = Just 1 | span < 0 = Nothing | otherwise = do is <- toIntArray digits spans span is # map product # maximum
Version data entries
240 entries across 240 versions & 1 rubygems