[Haskell-cafe] How to take a minimum sub list that only contain certain number of elements of certain type?
Jon Fairbairn
jon.fairbairn at cl.cam.ac.uk
Tue Sep 25 11:16:52 CEST 2012
Magicloud Magiclouds <magicloud.magiclouds at gmail.com> writes:
> Hi,
> For example, I have an array [0..]. Now I want to take a sub list
> that starts from index 0, and only contain 4 odds, and is minimum
> result. The answer should be [0, 1, 2, 3, 4, 5, 6, 7].
> How to do that? Combining lazy computing, I cannot figure out an
> efficient algorithm.
Does
f bound odds_so_far [] = []
f bound odds_so_far (x:xs)
| odds_so_far == bound = []
| otherwise = x : f bound (odds_so_far + if odd x then 1 else 0) xs
required_funciton = f 4 0
meet your criteria, or am I missing something?
--
Jón Fairbairn Jon.Fairbairn at cl.cam.ac.uk
More information about the Haskell-Cafe
mailing list