【发布时间】:2013-11-15 00:39:25
【问题描述】:
我有几个数组,比如:
var arr1 = new[] { "A", "B", "C", "D" };
var arr2 = new[] { "A", "D" };
var arr3 = new[] { "A", "B", };
var arr4 = new[] { "C", "D" };
var arr5 = new[] { "B", "C", "D" };
var arr6 = new[] { "B", "A", };
...等等
如何获得所有这些数组中最常见的元素组合?
在本例中是 A 和 B,因为它们出现在 arr1、arr3 和 arr6 中,而 C 和 D,因为它们出现在数组 arr1、arr4 和 arr5 中。
只是提到元素可以在任何类型的集合中,即。在 ArrayLists 中也是如此。
更新 uuhhh,我不够清楚...... 两个元素在数组中的最常见组合。这就是我试图在示例中展示的内容,但在我的问题中没有提及。
对不起 :-((
【问题讨论】:
-
定义最常见的。前 N 个计数,至少存在 Y 次还是什么?
-
"A"本身对于数组 1、2、3 和 6 是通用的。"B"也是如此,它出现在四个而不是三个数组中。为什么需要结合起来考虑? -
您的问题不完整。您询问最常见的元素,但您的示例是关于元素对。是否只考虑元素对?一个元素必须存在多少个实例才能被视为“最常见”的候选者?单个元素“A”在 4 个数组中。
-
您计划拥有的收藏数量是否有上限?
-
感谢更新,解决了很多困惑。请参阅我的更新答案以获取有效的解决方案。