
21 May
2007
21 May
'07
7:53 p.m.
mark@ixod.org (Mark T.B. Carroll) writes: (snip)
algMemo n m = lookupMemo m where memo = [[]] : map helper [1..m] lookupMemo m = if m < 0 then [] else memo !! m helper m' = [ x : xs | x <- [1..n], xs <- lookupMemo (m' - x) ]
which, I suppose, is rather like, algMemo n m = last memo where memo = [[]] : map helper [1 .. m] helper m' = [ x : xs | x <- [1 .. min m' n], xs <- memo !! (m' - x) ] -- Mark