> To: haskell-cafe@haskell.org
> From: jon.fairbairn@cl.cam.ac.uk
> Date: Tue, 25 Sep 2012 10:16:52 +0100
> Subject: Re: [Haskell-cafe] How to take a minimum sub list that only contain certain number of elements of certain type?
>
> Magicloud Magiclouds <magicloud.magiclouds@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@cl.cam.ac.uk
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe