我有一个字节数组,我想确定这个字节数组的内容是否作为连续序列存在于另一个更大的数组中。最简单的方法是什么?
最佳答案
天真的方法是:
public static bool IsSubsetOf(byte[] set, byte[] subset) {
for(int i = 0; i < set.Length && i + subset.Length <= set.Length; ++i)
if (set.Skip(i).Take(subset.Length).SequenceEqual(subset))
return true;
return false;
}
为了更有效的方法,您可以考虑更高级的字符串匹配算法,例如 KMP .
关于C# 数组子集获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1020438/