一串规律的数字,如何取“连续”数字最大最小值

凤老三 2011-12-30 12:06:31
例如 1,2,3,4,5,8,10,11,12,13,17,18 这几个数 取得连续的最大和最小值,1,5,8,10,11,13,17,18这些数给个思路.
...全文
220 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
凤老三 2012-01-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 q107770540 的回复:]
C# code


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 Li……
[/Quote]

不好意思,今天才来结贴,2个人的方法都可以实现我得功能,谢谢啦!这问题当时纠结了我一上午.
凤老三 2012-01-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wuyazhe 的回复:]
这个nb的Linq写不出来。。。
要我可能就写循环了。

C# code

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 ……
[/Quote]

不好意思,今天才来结贴.这个方法蛮不错的.通俗易懂.
兔子-顾问 2011-12-30
  • 打赏
  • 举报
回复
这个nb的Linq写不出来。。。
要我可能就写循环了。
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]);
}
凤老三 2011-12-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyazhe 的回复:]

如果要求效率,还是有点难度的。如果只要实现…
胖胖猫,上linq+regex
[/Quote]
先能实现就好把
兔子-顾问 2011-12-30
  • 打赏
  • 举报
回复
如果要求效率,还是有点难度的。如果只要实现…
胖胖猫,上linq+regex
凤老三 2011-12-30
  • 打赏
  • 举报
回复
8 是个独立的数所以要,10是10,11,12,13的起始数
q107770540 2011-12-30
  • 打赏
  • 举报
回复
8,10 也是连续的?
hy63171234 2011-12-30
  • 打赏
  • 举报
回复
应该用list
先遍历一边数组把连续的存起来
因为中间有断点(8)
所以当出现断电时候进行处理
跳过断点继续循环
最后返回list最后值
兔子-顾问 2011-12-30
  • 打赏
  • 举报
回复
想过用这个,但感觉还没for直观…
q107770540 2011-12-30
  • 打赏
  • 举报
回复
q107770540 2011-12-30
  • 打赏
  • 举报
回复

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;
});


62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧