Ruby Quiz, Haskell Solution: Maximum Sub-Array
Posted: August 30th, 2009 | Author: Michel Rijnders | Filed under: Haskell, Ruby Quiz | No Comments »The Quiz
Given an array of integers, find the sub-array with maximum sum. (The complete, original quiz is here.)
A Haskell Solution
module Main where
import Data.List (inits, maximumBy, tails)
import System (getArgs)
maxSubArray :: [Int] -> [Int]
maxSubArray =
maximumBy (\ x y -> compare (sum x) (sum y)) . concatMap inits . tails
main :: IO ()
main = do
args <- getArgs
print (maxSubArray (read (head args) :: [Int]))
import Data.List (inits, maximumBy, tails)
import System (getArgs)
maxSubArray :: [Int] -> [Int]
maxSubArray =
maximumBy (\ x y -> compare (sum x) (sum y)) . concatMap inits . tails
main :: IO ()
main = do
args <- getArgs
print (maxSubArray (read (head args) :: [Int]))
Leave a Reply