楼主: canoee
跳转到指定楼层
上一主题 下一主题
收起左侧

狗家油管上门面经

 
🔗
foryousee 2018-9-16 10:55:30 | 只看该作者
全局:
如果广告是好几个数量级的其实只要关注单位时间收益就可以了。因为你默认可以找到无缝连接的广告。即便找不到,你也有了dfs的优先序列,而不是全局load完。说白了就是凑零件,当你零件几乎无限多的时候你总能找到match,这时候就要求每个部位都是最高质量的零件就可以了。
回复

使用道具 举报

🔗
sxhexe 2018-9-16 12:35:10 | 只看该作者
全局:
hlckl123456 发表于 2018-9-16 09:12
union find所以子,都是和父距离1的
你和trie搞混了吧?

啊我知道find平均是O(1),不过你建立起union find的数据结构得O(n)吧。你的意思是如果数据结构建好了之后查一次是O(1)?
回复

使用道具 举报

🔗
hlckl123456 2018-9-17 00:33:24 | 只看该作者
全局:
sxhexe 发表于 2018-9-16 12:35
啊我知道find平均是O(1),不过你建立起union find的数据结构得O(n)吧。你的意思是如果数据结构建好了之后 ...

对的..  这道题的核心点就在考find
初始化 union find 和 bfs时间复杂是一样的。
空间复杂度union find 是O(n) 而bfs 最差能到O(n^2)

find 操作 union find 只要O(1)  bfs 最差能到O(n)
回复

使用道具 举报

🔗
sxhexe 2018-9-17 00:55:56 | 只看该作者
全局:
hlckl123456 发表于 2018-9-17 00:33
对的..  这道题的核心点就在考find
初始化 union find 和 bfs时间复杂是一样的。
空间复杂度union find ...

我突然想到,这题union find好像不行?
因为这个family tree是有方向性的,但是union find只看连通性。比如A的爸爸和妈妈是连通的(通过A),但是他们就没有共同的祖先。

评分

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

查看全部评分

回复

使用道具 举报

🔗
hlckl123456 2018-9-17 02:50:35 | 只看该作者
全局:
sxhexe 发表于 2018-9-17 00:55
我突然想到,这题union find好像不行?
因为这个family tree是有方向性的,但是union find只看连通性。 ...

你说的对哈,那就只能用楼主那个方法了。
回复

使用道具 举报

无效楼层,该帖已经被删除
全局:
hlckl123456 发表于 2018-9-8 13:54
第三题应该是union find,union find 找祖先的时间复杂是O(1)

第四题

你这样的话重复的字符怎么处理?会映射到不同的数字。
回复

使用道具 举报

🔗
hlckl123456 2018-9-17 14:22:44 | 只看该作者
全局:
liweiheng 发表于 2018-9-17 08:11
你这样的话重复的字符怎么处理?会映射到不同的数字。

嗯嗯,这确实是要考虑的一个问题。
我感觉具体做法就是
单词:ABBBC -> CBBBA
位置:12345 ->  52341
将字母的所有位置都存入map
比如: {A : [1]} {B:[2, 3, 4]}
映射的是根据前一个字母的位置,在对应的map选择相应的位置加上去
比如 这里 C的位置是5  5>B的最大位置,也就是4
所以B就从2开始,  然后第二个B 根据前面的的位置2,在[2,3,4]里查找,发现3可以
所以映射就变成
单词:ABBBC -> CBBBA
位置:12345 ->  52341

回复

使用道具 举报

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

本版积分规则

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