查看: 1834| 回复: 6
跳转到指定楼层
上一主题 下一主题
收起左侧

[树/链表/图] 求用户热度算法

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
给一个函数find_hot_users(users_likes, degrees), 返回一个数组包含所有用户热度 >= degrees

假如users_likes是这样一个数组[[A, B], [A, C], [B, D], [C, D]]
[A, B],,表示用户A推荐B,那么B就有了1个degree
[B, D],,表示用户B推荐D,那么D就有了2个degrees(注意因为B之前有了一个degree),

根据上面函数签名,比如degrees为3, 返回所有用户热度大于3的用户数组

我总觉得在哪里见过这个题目,一时找不到了,求大家指点

上一篇:ConcatenatedWords输出
下一篇:分享一个总结leetcode pattern系列贴。求大米!好多面筋看不了啊
🔗
 楼主| gamesover 2019-4-25 13:47:58 | 只看该作者
全局:
忘记说了,用户推荐不可以重复计算,一个用户只能算一个degree

补充内容 (2019-4-25 13:49):
比如A->C->D,同时A->D,但是D的推荐度只有2,不能为3,因为A直接并间接推荐了D,只能算一次
回复

使用道具 举报

🔗
14417335 2019-4-25 20:37:50 | 只看该作者
全局:
是不是保证了没有环呢?比如在你楼顶的例子最后加入D推荐A

[[A, B], [A, C], [B, D], [C, D],[D,A]]

评分

参与人数 1大米 +2 收起 理由
gamesover + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
 楼主| gamesover 2019-4-25 21:02:43 | 只看该作者
全局:
14417335 发表于 2019-4-25 20:37
是不是保证了没有环呢?比如在你楼顶的例子最后加入D推荐A

[[A, B], [A, C], , [C, D],[D,A]]

我就说怎么这么眼熟,貌似Course Schedule变种

假设没有环,该怎么遍历比较好呢?

请ignore [D, A]
回复

使用道具 举报

🔗
337845818 2019-4-25 22:23:33 | 只看该作者
全局:
无环union find
回复

使用道具 举报

🔗
 楼主| gamesover 2019-4-26 13:02:12 | 只看该作者
全局:

不好意思,union find可以做吗?
union find好像只适合无向图吧,这个是有方向的啊
而且union find 是把图连起来,这个要count数量的
还是有点困惑
回复

使用道具 举报

🔗
337845818 2019-4-26 21:50:26 | 只看该作者
全局:
gamesover 发表于 2019-4-26 13:02
不好意思,union find可以做吗?
union find好像只适合无向图吧,这个是有方向的啊
而且union find 是 ...

一回事, 你不理解的话就用bfs的拓扑排序吧.. 从in degree = 0的地方开始做

评分

参与人数 1大米 +2 收起 理由
gamesover + 2 很有用的信息!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表