一般方法是两个集合循环,计算量是N*M
循环其中一个集合A,用Linq的Exist等方法判断元素是否在B集合这类方法也是一样的
假定集体A与集合B都是有序的,就可以按下面进行优化,计算量会少很多
bool isExist = false;
int index = 0;
for (int i = 0; i < aList.Count; i++)
{
isExist = false;
var item = aList[i];
for (; index < bList.Count; index++)
{
if (item == bList[index])
{
isExist = true;
break;
}
}
if (!isExist)
{
//Do sth
}
}