📣 独立日限时特惠: VIP通行证立减$68
楼主: kevinwangjk
跳转到指定楼层
上一主题 下一主题
收起左侧

Google Onsite

🔗
 楼主| kevinwangjk 2016-9-18 06:08:33 | 只看该作者
全局:

非大神。。上面已经提到过了,就是要删除的时候重新建立所有间接朋友。。。很慢,但是假设就是删除朋友发生的很少,只要查找两个人是不是朋友快就可以。
回复

使用道具 举报

🔗
william_gong 2016-9-18 07:18:28 | 只看该作者
全局:
请问第一轮那题lz是怎么做的呢?
回复

使用道具 举报

🔗
 楼主| kevinwangjk 2016-9-18 08:12:13 | 只看该作者
全局:
william_gong 发表于 2016-9-18 07:18
请问第一轮那题lz是怎么做的呢?

用个BST存interval,然后加interval的时候merge重复的,key用lower bound
回复

使用道具 举报

🔗
houqingniao 2016-9-18 11:41:32 | 只看该作者
全局:
第三题,能详细说说么?
回复

使用道具 举报

🔗
hxtang 2016-9-18 21:26:34 | 只看该作者
全局:
kevinwangjk 发表于 2016-9-18 06:08
非大神。。上面已经提到过了,就是要删除的时候重新建立所有间接朋友。。。很慢,但是假设就是删除朋友发 ...

在想可不可以这样做:
为每个间接朋友设一个计数器,表示和间接朋友share多少个直接朋友
这样比如原来A-B-C,A和B的连接断掉以后A-C之间的计数器-1,如果计数器是0才删掉间接朋友。这样不用整个重构
加直接朋友的时候也需要更新计数器就是了,但是本来就要检查是否会导致增加间接朋友,所以不会多出多少开销
回复

使用道具 举报

全局:
题很有意思啊
感谢!
回复

使用道具 举报

🔗
 楼主| kevinwangjk 2016-9-19 02:43:31 | 只看该作者
全局:
hxtang 发表于 2016-9-18 21:26
在想可不可以这样做:
为每个间接朋友设一个计数器,表示和间接朋友share多少个直接朋友
这样比如原来A ...

但是worst case还是一样的,而且也还是要看所有的间接朋友有没有到0。
回复

使用道具 举报

🔗
hxtang 2016-9-19 02:51:06 | 只看该作者
全局:
kevinwangjk 发表于 2016-9-19 02:43
但是worst case还是一样的,而且也还是要看所有的间接朋友有没有到0。

删除A-B的时候肯定是要访问所有A的间接朋友和B的所有间接朋友
我觉得导致慢的可能是对A的每个间接朋友C,还要检查A的直接朋友和C的直接朋友的交集,这个操作不是O(1)的,感觉至少是线性的。但是用计数器的话,就是直接减一下。

不过也许我把不用计数器更新间接朋友的算法想复杂了?
回复

使用道具 举报

🔗
pawprinter 2016-9-20 08:03:59 | 只看该作者
全局:
请问第二题怎么算满足不查看周围8个value的要求?
回复

使用道具 举报

🔗
iFrances 2016-9-21 01:57:52 | 只看该作者
全局:
LZ请问 game of life board无限大怎么处理呢?
回复

使用道具 举报

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

本版积分规则

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