fork download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. public class Test
  7. {
  8. public static void Main()
  9. {
  10. var data = new int[] { 1, 1, 2, 1 };
  11.  
  12. var results = Enumerable.Range(0, data.Count ())
  13. .Where (i => i == 0 || data.ElementAt(i - 1) != data.ElementAt(i))
  14. .Select (i => new
  15. {
  16. //Key = data.ElementAt(i),
  17. Group = Enumerable.Repeat(data.ElementAt(i),
  18. data.Skip(i)
  19. .TakeWhile (d => d == data.ElementAt(i)).Count ())
  20. }
  21. );
  22.  
  23. foreach(var item in results)
  24. {
  25. Console.Write("[");
  26. foreach(var num in item.Group)
  27. Console.Write(string.Format("{0} ", num));
  28. Console.WriteLine("]");
  29. }
  30. }
  31. }
Success #stdin #stdout 0.04s 38080KB
stdin
Standard input is empty
stdout
[1 1 ]
[2 ]
[1 ]