2019.03.05-朋友分组问题

从业务上抽离出来的问题。

条件:

假设有一个已知的list:

List<String>  list= new ArrayList<String>();

list.add("A");

list.add("B");

list.add("C");

list.add("D");

……

假设每一个字母代表一个人,人与人之间有两种关系:相容互斥通过isFriendly(a,b)可以获得两人之间的关系

一个朋友圈中所有人都必须相容,且无法再加入其他成员。

例如list有4个人A、B、C、D, AB互斥  其他均相容 ,则可以得到两个朋友圈{ACD}  {BCD}

——————

求:如何得到所有不同的朋友圈?

猜你喜欢

转载自www.cnblogs.com/xyxsh/p/10478225.html