[Haskell-beginners] Better Code
fa-ml at ariis.it
Fri Jan 13 16:55:16 UTC 2017
On Fri, Jan 13, 2017 at 09:35:54PM +0530, Saqib Shamsi wrote:
> The problem that I wish to solve is to divide a (sored) list of integers
> into sublists such that each sublist contains numbers in consecutive
> For example,
> *Input:* [1,2,3,7,8,10,11,12]
> *Output:* [[1,2,3],[7,8],[10,11,12]]
> However, I was wondering if there was a better way of doing this. Any help
> would be highly appreciated.
you could try using a 'trick' like this:
λ> zipWith (-) [1,2,3,7,8,10,11,12] (enumFrom 1)
Now you have an 'helper' list which can be glued to the first one
λ> zip [1,2,3,7,8,10,11,12] it
and now grouped by using `groupBy` in Data.List.
Does that help?
More information about the Beginners