62,074
社区成员
发帖
与我相关
我的任务
分享
int[] arr = new int[] { 1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 17, 18 };
List<List<int>> result = new List<List<int>>();
result.Add(new List<int>());
for (int i = 0; i < arr.Length; i++)
{
if (i != 0 && arr[i] - 1 != arr[i - 1])
{
result.Add(new List<int>());
}
result.Last().Add(arr[i]);
}
var list=new List<int>{1,2,3,4,5,8,10,11,12,13,17,18};
var temp=new List<List<int>>();
list.Aggregate((m,n)=>
{
if(temp.Count()==0)
{
temp.Add(new List<int>{m});
}
if(temp.Last().Last()==n-1)
{
temp.Last().Add(n);
}
else temp.Add(new List<int>{n});
return n;
});