Skip to content

Instantly share code, notes, and snippets.

@rjeli
rjeli / profit.hs
Created November 8, 2015 07:34
Hardcore DP
profit :: [Int] -> Int
profit xs = f (head xs) 0 (tail xs)
where
f minVal maxDiff [] = maxDiff
f minVal maxDiff (x:xs) = f (min minVal x) (max maxDiff (x - minVal)) xs
-- O(n) time, O(1) memory