111,126
社区成员
发帖
与我相关
我的任务
分享using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int n = 30;
Random rnd = new Random();
int[] array = new int[] { n - 1 }.Union(Enumerable.Range(0, 150).Select(x => rnd.Next(100))).Union(new int[] { n - 1 }).ToArray();
var data = array.Select((x, i) => new { y = x, i });
var query = from x in data.Skip(1)
group x by (data.Where(y => y.y < n && y.i < x.i).Max(y => y.i)) into g
where g.Count() > 1
select new { len = g.Count() - 1, values = g.Select(y => y.y).Reverse().Skip(1).Reverse() };
Console.WriteLine("source:");
Console.WriteLine(string.Join(", ", array.Skip(1).Take(array.Length - 2)));
Console.WriteLine("result: (larger than {0})", n);
foreach (var item in query)
{
Console.WriteLine("length = {0}, items: {1}", item.len, string.Join(", ", item.values));
}
}
}
}