我有一组节点,每个节点包含 0 个或多个点。节点之间存在重复点,但每个节点可能包含该节点唯一的点。
例如:
- 节点 A
- 第 1 点
- 第 2 点
- 第 3 点
- 节点 B
- 节点 C
- 第 1 点
- 第 4 点
- 节点 D
- 第 2 点
等等
是否有一种算法或方法可以找到包含最多点数的最少节点数,直至特定限制?
在上面的例子中,如果我需要 4 个唯一点,我会得到节点 A 和节点 C,或节点 A 和节点 D。
目前,我正在通过按点数(即节点 A、节点 C、节点 D)对节点列表进行降序排序并丢弃没有点的节点(节点 B)来解决此问题。然后,我将遍历该节点列表,计算唯一点(并记录查看的节点),直到达到定义的唯一点阈值。因此,在上面的示例中,我的结果将是节点 A 和节点 C。
对于它的价值,我在 Javascript 中执行此操作,但我认为我的问题更多是“如何解决问题”而不是与特定语言相关。道歉,如果这是不正确的地方张贴。