请考虑下表:
User ID Group
1 G1, G2
2 G2, G4
3 G1, G3
4 G2, G3
5 G1
确定给定用户的公共组的最快方法是什么,例如1,3和5?我试图用C ++实现它。
答案 0 :(得分:0)
您选择一个用户(您正在检查的用户),逐一检查组1,询问其他人是否在该组中。
选择一位用户 for(group = pick_1st_from_grp; group!= 0; group = next_group){ 是这个组的其他成员吗? 如果所有这些都是常见的那么 否则这个不常见 }
答案 1 :(得分:0)
您可以递归使用set的交集: