假设用户A
在其联系人中有[X, Y, Z]
。
用户B
有[M, N, O, X]
个联系人,C
有[D, X, E, F]
个联系人。
此时A
,B
和C
已经注册。
现在,当用户X
注册到我的系统时,我希望A
,B
和C
收到通知。
一种天真的方法是线性遍历每个用户的朋友列表,并查看哪个用户在他的朋友列表中有X
。但在很大程度上,这种方法的成本太高了。
所以我的问题是,你能否想到一种有效的方式让我知道A
,B
和C
有X
作为联系人?
P.S。所有用户标识符A
,B
,X
等都是电话号码。
答案 0 :(得分:2)
您已经在某处存储了电话号码和联系人。创建未注册用户' 朋友的数据库应该不会太困难。然后你可以通过电话号码查看它们,并在注册时通知他们的朋友(并删除他们的条目)。如果 a 将 x 添加到其联系人并且 x 不是注册用户,请将 a 添加到 x 在未注册用户数据库中的条目。