gpt4 book ai didi

c# - 检查数组是否包含与其他数组完全相同的序列

转载 作者:行者123 更新时间:2023-12-04 03:16:53 25 4
gpt4 key购买 nike

我有一个问题,我需要检查某个数组是否是更大数组的一部分,这会很容易,但我需要检查更大的数组是否包含完全相同的序列。例如

int[] greaterArray = {8, 3, 4, 5, 9, 12, 6 ... n - elements}
int[] lesserArray = {3, 4, 5}

现在我需要知道较小的数组是否是该数组的一部分,但具有相同的序列,因此它在较大的数组中包含 3、4、5 个彼此相邻的数组。

我试过:
var exists = greaterArray.Intersect(lesserArray).Any();

但是如果较小数组的任何元素存在于较大数组中,它会返回我的信息,而不是精确序列。有任何想法吗?

最佳答案

    int[] greaterArray = {8, 3, 4, 5, 9, 12, 6};
int[] lesserArray = { 3, 4, 5 };
bool sequenceFound = false;

for (int i = 0; i <= greaterArray.Length - lesserArray.Length; i++)
{
if (greaterArray.Skip(i).Take(lesserArray.Length).SequenceEqual(lesserArray))
{
sequenceFound = true;
break;
}
}

if (sequenceFound)
{
//sequence found
}
else
{
//sequence not found
}

使用上面的代码。它需要来自 greaterArray 的多个子序列长度等于 lesserArray的长度并将其与 lesserArray 匹配.

关于c# - 检查数组是否包含与其他数组完全相同的序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40257621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com