Anonymous user
Longest increasing subsequence: Difference between revisions
→Patience sorting
Line 458:
lis :: Ord a => [a] -> [a]
lis
let
pileTops <- newSTArray (min
let bsearchPiles x len = aux 1 len where
aux lo hi | lo > hi = return lo
Line 477:
readArray pileTops (i-1)
return $ if i == len+1 then len+1 else len
len <- foldM f 0
return . reverse =<< readArray pileTops len
where newSTArray :: Ix i => (i,i) -> e -> ST s (STArray s i e)
|