给定一个集合列表...
var sets = new List<HashSet<int>>(numTags);
如何删除作为另一个适当子集的所有集合?
这是最好的方法吗?
for (int i = 0; i < sets.Count; ++i)
{
for (int j = 0; j < sets.Count; ++j)
{
if (i != j && sets[i].IsProperSubsetOf(sets[j]))
{
sets.RemoveAt(i--);
}
}
}
我正在递减i
,因为我假设所有东西在被移除后都会被轻推,所以我必须再次检查那个插槽。