如何在一群人中找到家庭

时间:2018-07-17 13:11:59

标签: algorithm set grouping subset

说我有一组潜在的家庭成员。我将一个家庭定义为一组个人,其中包含一个或两个成年人(18岁以上)和最多9个孩子(24岁以下),但条件是每个孩子必须比年龄小15岁都是成年人。

一个例子:

id: 1    age: 14
id: 2    age: 25
id: 4    age: 6
id: 5    age: 35
id: 6    age: 50
id: 7    age: 44

潜在的家庭是:

{1, 4, 5, 6}, {1, 4, 5, 7}, {1, 4, 6, 7}, {14, 25, 6, 6, 7}, ...

我想找到该集合的每个家庭子集。由于这个年龄段,我真的不知道该如何进行,这是针对每对个体的。我真的不知道如何从中形成子集。

在下一步中,我将选择成员最多的家庭。预先谢谢你

1 个答案:

答案 0 :(得分:1)

寻找成员最多的家庭的算法

  1. 年龄排序
  2. 采用2个最高年龄段(称为:P1,P2)
  3. eldestChildAge排序的年龄中找到最高年龄的索引age <= Min(P1, P2) - 15
  4. 现在考虑进入这个家庭的年龄小于eldestChildAge的所有元素(最多包括eldestChildAge 9个)

希望这可以帮助您理解。