快速序列中的列表检查 [重复]

问题描述 投票:-2回答:1

这个问题已经在这里有一个答案:

我要寻找一个更快,更准确的方法来检查顺序:

List<int> sequence = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7 … 41}



private bool IsSequential(List<int> sequence)
{

    int S = sequence[0];
    int T = sequence[sequence.Count- 1];

    List<int> Possible = Enumerable.Range(S, T).ToList();
    List<int> Except = sequence.Except(Possible).ToList();

    if (Except.Count == 0)
        return true;
    else
        return false;
}

我的代码返回1,如果该列表是一样的,我有一些分类数量问题?

我不知道是否有更好的方法来检查一个整数序列:200,201,202 ...等等。

有些序列可以不按顺序:200,210,203,204 ...我需要找出这个问题。

谢谢

c# list
1个回答
3
投票

您可以尝试使用类似以下SequenceEqual

  List<int> sequence = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7 };
  bool isInSequence = sequence.SequenceEqual(Enumerable.Range(sequence[0], sequence.Count()));
© www.soinside.com 2019 - 2024. All rights reserved.