Haskell Quiz/Maximum Sub-Array/Solution Jkramar

From HaskellWiki
< Haskell Quiz‎ | Maximum Sub-Array
Revision as of 19:58, 19 November 2008 by Jkramar (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


maxSubArray xs = drop from$take to xs where
  sums = zip (scanl (+) 0 xs) [0..]
  diff ((a,ai),(b,bi)) = (a-b,(bi,ai))
  (from,to) = snd$maximum$map diff$zip sums$scanl1 min sums