小编典典

C#数组子集获取

algorithm

我有一个字节数组,我想确定此字节数组的内容是否在另一个较大的数组中作为连续序列存在。最简单的方法是什么?


阅读 784

收藏
2020-07-28

共1个答案

小编典典

天真的方法是:

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

2020-07-28