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

[树/链表/图] Alien dictionary 及followup解题报告

全局:
高频题
公司名称: airbnb

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

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

x
最近在准备面试,打算写一些结题报告。大家多捧场。第一帖是alien dictionary 以及它的followup: get all solutions。这个follow up我没有写成alien dictionary,而是直接用了UVA 872的代码,但是原理一样,题目也极其类似,大家稍微变通一下就好。放在我的medium上:
https://medium.com/@wangfengfight/leetcode-269-alien-dictionary-and-followups-77c0390629da



上一篇:刷题到现在总结的知识点 DS + Algorithm, 求大米
下一篇:刷題 實力提升瓶頸
全局:
楼主 这题我也深入研究过. follow up是典型的backtrack. 但是这里backtrack和别的lc题不一样

当前set里面存的是同等级的chars, 而咱们要for循环的也是这个set, 如果一般写法 就会造成concurrent modification的错

一个小技巧是 if 默认字母属于集合a到z.  我们循环a到z 看是否在set里面, 是的话就作为当前char 然后继续dfs.

楼主你的做法是copy 但是copy的cost太大.
回复

使用道具 举报

全局:
你是copy下来当前set 然后循环  代价过大哈.
回复

使用道具 举报

🔗
 楼主| wangfengfight1 2019-3-10 12:46:16 | 只看该作者
全局:
zhangzitong001 发表于 2019-3-10 12:29
楼主 这题我也深入研究过. follow up是典型的backtrack. 但是这里backtrack和别的lc题不一样

当前set里面 ...

谢谢赐教哈
回复

使用道具 举报

无效楼层,该帖已经被删除
无效楼层,该帖已经被删除
🔗
 楼主| wangfengfight1 2019-3-10 13:08:42 | 只看该作者
全局:
本帖最后由 RonHe 于 2019-3-14 20:13 编辑
zhangzitong001 发表于 2019-3-10 12:29
楼主 这题我也深入研究过. follow up是典型的backtrack. 但是这里backtrack和别的lc题不一样

当前set里面 ...

你好,我刚才又看了下,我觉得我的做法其实和你的建议并没有区别的,我的那个dict就是所有字母的数组,这个数组是一直传饮用的,每次loop over每个字母找indegree = 0,用完的标记成-1。实际上就是把原来BFS里的set拆成了每次26次的检查。

补充内容 (2019-3-10 13:09):
传引用...
回复

使用道具 举报

全局:
wangfengfight1 发表于 2019/03/10 13:08:42


你好,我刚才又看了下,我觉得我的做法其实和你的建议并没有区别的,我的那个dict就是所有字母的数组,这个数组是一直传饮用的,每次loop over每个字母找indegree = 0,用完的标记成-...

ok.  你这是dfs版本的topo是吗.   我写的是原先题目bfs 进行topo的基础上, 对于当前indegree都为0的 char set 我选择其中一个 从set中删除 然后更新所有相邻的indegrees, 继续向下 然后backtrack.

回复

使用道具 举报

🔗
 楼主| wangfengfight1 2019-3-10 13:50:03 | 只看该作者
全局:
zhangzitong001 发表于 2019-3-10 13:46
ok.  你这是dfs版本的topo是吗.   我写的是原先题目bfs 进行topo的基础上, 对于当前indegree都为0的 char ...

不是,我也是用BFS的topo,不过不使用set记录当前的零节点,而是每次检查每个字母,看看有没有0的,有就标记成-1加到结果里。我也看到你发的那个帖子,我觉得这题没法DP,而且应该是个可以规约到Hamilton path的NP问题...
回复

使用道具 举报

全局:
wangfengfight1 发表于 2019/03/10 13:50:03


不是,我也是用BFS的topo,不过不使用set记录当前的零节点,而是每次检查每个字母,看看有没有0的,有就标记成-1加到结果里。我也看到你发的那个帖子,我觉得这题没法DP,而且应该是个可以规约到...

我那题不是这个题目呀 ... 你每次检查的操作我觉得不如加入到set里面.  如果你感兴趣我可以贴一下我的代码方便交流. 你可以看看我代码逻辑
回复

使用道具 举报

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

本版积分规则

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