【发布时间】:2014-05-03 11:25:41
【问题描述】:
所以我的问题在于主题名称。是否存在比 O(N^2) 更快地检查 B 是否是 A 的子序列的算法,例如 O(NlogN) 或简单的 O(N)?
找到的唯一方法是简单的蛮力
for(int i = 0; i < a.Length - b.Length; i++)
{
if (IsSubsequence(a,b,i))
return i;
}
return -1;
【问题讨论】:
-
您应该定义子序列并举一个例子以避免混淆。也请为
IsSubsequence添加您的代码 -
因为通常子序列的含义与您所要求的不同
标签: c# .net performance algorithm complexity-theory