对六个数字进行按顺序排列(Array.Sort),
然后:
bool IsContinueslyNumbers(int[] array)
{
for(int i=1;i<array.Length;i++)
{
if((array[i] - array[i-1]) != 1)
return false;
}
return true;
}
然后:
bool IsContinueslyNumbers(int[] array)
{
for(int i=1;i<array.Length;i++)
{
if((array[i] - array[i-1]) != 1)
return false;
}
return true;
}
1、除数组长度的的余数不会重复(这里长度是6)
2、最大数和最小数相差长度减1参考如下代码:
int[] a = { 2, 3, 4, 1, 6, 5 };
bool[] b = new bool[a.Length];
int min = int.MaxValue, max = int.MinValue;
bool repeat = false; // 余数重复
foreach (int i in a)
{
if (b[i % a.Length])
{
repeat = true;
break;
}
b[i % a.Length] = true;
min = i < min ? i : min;
max = i > max ? i : max;
}
if (!repeat && max - min == a.Length - 1)
Console.WriteLine("是一个连续的数组");