查找不同类别的三元组的数量,其中每个项目都来自不同的集合

时间:2018-07-15 17:39:14

标签: algorithm combinatorics

在进行一些休闲编码时,我遇到了以下问题:考虑三组整数。可以制作多少个三胞胎,以便:

  • 三元组中的所有三个数字都来自不同的集合;
  • 如果对元素进行排序,则两个三元组相等(例如,(1,2,3)和(2,3,1)被视为相等)。

让我们举个例子。假设这三个集合是{1、2},{1、3}和{1、2、3}。答案应该是8,而实际的三胞胎应该是111、112、113、123、133、122、223、233。

查找此数字最有效的算法是什么(请注意,我只需要三元组的总数,而不是三元组本身)?知道该算法是否可以推广到N个数字集和长度为N的元组也很有趣。

0 个答案:

没有答案