Functional way to check if array of numbers is sequential

前端 未结 7 1839
无人共我
无人共我 2020-12-16 14:32

Let\'s say that an array is sequential when each successful element has the value of previous element + 1. Suppose I have an array of numbers like {5,6,7,

7条回答
  •  清歌不尽
    2020-12-16 15:05

    This should do the trick, for all sequential, non sequential data. A complete example with sample input. Tested and works fine

    var list = new List(new[] { 7, 6, 5, 4, 3,9});
    int minValue = list.Min();
    int maxValue = list.Count;
    List test =  Enumerable.Range(minValue, maxValue).ToList();
    var result = Enumerable.Range(minValue, maxValue).Except(list);
    if (result.ToList().Count == 0)
    {
      Console.WriteLine("numbers are in sequence");
    }
    else
    {               
       Console.WriteLine("Numbers are not in sequence");
     }
    

提交回复
热议问题