需求: 对于每一个新用户,希望能计算出和老用户的通讯录最高匹配度,找到类似伪造通讯录的情况。
例子: 每一个用户的通讯录表结构如下
user_id phone
123 18721212111
123 18721212112
123 18721212113
124 18721212111
124 18721212112
124 18721212115
124 18721212116
假设 user_id:123 是一个新用户,可以发现用户 123 和用户 124 存有相同的联系人
用户 123 和 124 的匹配度为: 相同号码数量 /新用户的号码数量 = 2/3 = 0.67
需要遍历找到匹配度最高的用户,或者是大于某一阈值的用户群体。
各位大佬,这个复杂度似乎有点高,有没有可行的方案。