【发布时间】:2020-09-23 02:16:52
【问题描述】:
有一个List,其中的元素根据一定的条件是互斥的
-
现在我需要根据这个互斥条件拆分成多个List
-
分区后互斥元素不能出现在子List中
-
切分后的子List个数要尽量减少
----------例如----------
-
原始列表[A, B, C]
-
A与C互斥,A与B互斥,B与C互斥
-
可分为[A]、[B,C]或[C]、[A,B]
-
不要拆分成[A]、[B]、[C],因为拆分后子列表的总数不是最小的
谁能帮帮我?
【问题讨论】:
-
你能提供一些例子吗?
-
您描述中的语言似乎无处不在。使其一致。当您说拆分为多个列表时,您的意思是根据互斥条件对原始列表进行分区吗?此外,第 2 点谈到子列表。什么是子列表?你的意思是分区的子集。那么您是说分区的一个子集中的元素不能在同一分区的另一个子集中(互斥)?如果是这样,您本质上是在描述分区的定义
-
互斥的条件是否总是产生布尔值?如果是这样,该条件将产生两个子集。或者这种情况会导致两个以上的值吗?
-
请向我们展示您迄今为止尝试过的代码。
-
例如1.原始列表[A,B,C] 2.A和C互斥,a和B互不互斥,B和C互不互斥 3.它可以分为[A],[B,C]或者[C],[A,B] 4.不要拆分成[A],[B],[C],因为拆分后子列表的总数不是最小值
标签: java algorithm collections