【发布时间】:2016-09-22 01:15:04
【问题描述】:
我正在尝试查找 N 组中经常出现的数字组合(相同大小,一组中没有重复)。
例如:
{3, 5, 2, 4, 6, 11}
{3, 7, 2, 11, 5, 14}
{8, 2, 1, 11, 14, 6}
{9, 1, 12, 8, 17, 4}
{4, 10, 16, 5, 14, 3}
我使用数字计数算法来查找集合中单个数字的出现次数。
public static int[] Counting (int []A, int m )
{
int n = A.Length;
int[] count = new int[m+1];
Array.Clear(count, 0, m+1);
for (int k = 0; k < n; k++)
count[A[k]] += 1;
return count;
}
是否有一种算法可以对子集执行相同的操作。在上面的示例中,{2, 11}、{3,2, 11}、{11, 14} 一起出现的频率更高。输出应具有子集的计数,即对于上面的示例 {2, 11},频率为 3。
【问题讨论】: