如果每个成功的元素都具有前一个元素的值 + 1
,那么假设一个数组是连续的。假设我有一个数字数组,例如 {5,6,7,8}
(顺序)或 {1,2,5}
(非顺序)。
是否有一个很好的功能方法来检查数组是否是连续的?我可以使用以下代码来完成:
bool IsSequential(int[] array)
{
for (int i = 1; i < array.Length; i++)
if (array[i] != array[i - 1] + 1)
return false;
return true;
}
我正在尝试确定一手扑克牌是否顺子。
最佳答案
试试这个:
bool IsSequential(int[] array)
{
return array.Zip(array.Skip(1), (a, b) => (a + 1) == b).All(x => x);
}
关于c# - 检查数字数组是否连续的功能方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18225010/