有沒有簡單的(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
@igor否,連續數字,所以group1 = 1,2,3 group2 = 7,8,9 group3 = 12,13 group4 = 24 – mxmissile
啊,那只是一個巧合而已。 – Igor