【发布时间】:2017-10-05 21:17:01
【问题描述】:
是否有一种简单的(linq?)方法可以根据完整的数字序列将int 数组拆分为新数组?例如给出这个伪代码:
[Fact]
public void ArraySpike()
{
var source = new[] {1, 2, 3, 7, 8, 9, 12, 13, 24};
var results = SplitArray(source);
Assert.True(results[0] == new[] {1, 2, 3});
Assert.True(results[1] == new[] {7, 8, 9});
Assert.True(results[2] == new[] {12, 13});
Assert.True(results[3] == new[] {24});
}
public int[][] SplitArray(int[] source)
{
return source.???
}
【问题讨论】:
-
什么是组?每 5 位数? (1-5、6-10、11-15 等)?
-
@igor no,数字连续,所以 group1 = 1,2,3 group2 = 7,8,9 group3 = 12,13 group4 = 24
-
啊,那只是巧合。
-
不知道为什么投反对票(可能没有尝试?),我认为这个问题很有趣。
-
可能,我有一个“丑陋”的尝试,但我猜那将是代码审查。