在数组中查找重叠数据

gen*_*chm 10 c# arrays algorithm array-algorithms

我们正在编写一个C#应用程序,它将帮助删除不必要的数据中继器.只有在收到的所有数据都被其他中继器接收的情况下,才能删除转发器.下面将解释我们作为第一步所需要的内容:

例如,我有int数组的集合

一个.{1,2,3,4,5}

湾 {2,4,6,7}

C.{1,3,5,8,11,100}

它可能是数千个这样的阵列.我需要找到可以删除的数组.只有在其所有数字都包含在其他数组中的情况下才能删除数组.在上面的示例中,可以删除数组a,因为数字2和4在数组b中,数字1,3,5在数组c中.

做这种手术的最佳方法是什么?

Ali*_*.Kh 4

不是针对剩余阵列数量最少的优化解决方案。

为数组成员制作丰度字典。例如:

1 => 2
2 => 2
3 => 2
4 => 2
5 => 2
6 => 1
7 => 1
...
Run Code Online (Sandbox Code Playgroud)

检查每个数组,如果所有成员的丰度都大于 1,则删除数组并减少字典中每个数字的计数。