新手问题 怎样实现微薄里共同粉丝的计算?

LincolnDz · 2013年01月22日 · 最后由 bhuztez 回复于 2013年01月26日 · 2973 次阅读

请教各位,RT,计算的算法代码应该写在哪个文件下?

唉...又变得一窍不通了,各种没了头绪...哭

两个数组求交集

mike.follower_ids = [1,2,3,4] tom.follower_ids = [3,4,5,6,7]

mike.follower_ids & tom.follower_ids = [3, 4]

算法代码我会写在 model 里面,也可以放在 lib 下

#1 楼 @miclle 几十万几百万粉丝的 id 放数组里面计算效能 ok 么?

可放到 redis 里面做交集计算

#3 楼 @SharpX 使用 redis 的 set 类型,做这个的确很嗨。

另外,如果说的是 新浪微博,并且只是为了结果,不是为了算法什么的话,可以查看下《获取两个用户之间的共同关注人列表》接口 http://open.weibo.com/wiki/2/friendships/friends/in_common

@miclle 谢谢,是否一般都会把算法之类的放在 lib 里啊??@SharpX 是想做交集运算!

写个老土的 SQL 供大家嘲笑

SELECT f1.follower_id AS follower_id
FROM followship AS f1
JOIN followship AS f2 
  ON f1.follower_id = f2.follower_id
WHERE
  f1.user_id = ? AND
  f2.user_id = ?

其实 Prolog


common_follower(A,B,C) :-
   follower(A, C),
   follower(B, C).
需要 登录 后方可回复, 如果你还没有账号请 注册新账号