一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1487|回复: 12
收起左侧

facebook phone interview面经

[复制链接] |试试Instant~ |关注本帖
liyuanxi23 发表于 2016-9-28 04:01:32 | 显示全部楼层 |阅读模式

2017(7-9月) 码农类 硕士 全职@Facebook - 内推 - 技术电面 |Passfresh grad应届毕业生

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
分享一个facebook 面经

一个美国人,开始花了20分钟聊简历 和 之前做的 project。。看起来他满感兴趣 就说的多了一点。

后来时间比较紧就问了一题。。

leetcode 原题 group anagram 49题。。

然后开始我是用 arrays sort 排序的。。时间复杂度是 mnlogn 。。
.鏈枃鍘熷垱鑷1point3acres璁哄潧
他让我优化 。。想到了 桶排序。。所以最后 到了 mn。。



评分

1

查看全部评分

本帖被以下淘专辑推荐:

zhuhai_ZFC 发表于 2016-9-28 05:17:31 | 显示全部楼层
我觉得,如果是已知字符集,比如ASCII码,那可以用一个256大小的整数数组对一个词的各个字符先计数,然后把计数数组从头数到尾,每次遇到非零元素就按"<个数><字符>"的格式拼接出一个新字符串。比如: aabacca,就是4a1b2c。这样既可以保证各个anagram group的key的唯一性,又可以做到O(mn)。如果只是英语字母,那计数数组的大小就是26。其实我想出这个方法,完全是因为我对bucket sort不熟。。。。之前准备的时候,只重点准备了counting sort
回复 支持 反对

使用道具 举报

fitta 发表于 2016-9-28 14:37:18 | 显示全部楼层
感觉像这个人这样用prime number来hash也可以: https://discuss.leetcode.com/topic/12509/o-m-n-algorithm-using-hash-without-sort
回复 支持 1 反对 0

使用道具 举报

hello2pig 发表于 2016-9-28 04:20:00 | 显示全部楼层
牛啊 能具体说说优化思路么?
回复 支持 反对

使用道具 举报

chestnut9919 发表于 2016-9-28 04:43:36 | 显示全部楼层
请问MN是怎么做到的?是自己写一个sort方法吗?
回复 支持 反对

使用道具 举报

 楼主| liyuanxi23 发表于 2016-9-28 05:28:43 | 显示全部楼层
zhuhai_ZFC 发表于 2016-9-28 05:17
我觉得,如果是已知字符集,比如ASCII码,那可以用一个256大小的整数数组对一个词的各个字符先计数,然后把 ...

对的 。就是这样。。counting sort 某种程度上 就是 bucket sort
回复 支持 反对

使用道具 举报

hanabeast 发表于 2016-9-28 06:32:46 | 显示全部楼层
这题我是HashMap做的,bucket sort是怎么做呢
回复 支持 反对

使用道具 举报

DreamBoy 发表于 2016-9-28 11:04:50 | 显示全部楼层
zhuhai_ZFC 发表于 2016-9-28 05:17
我觉得,如果是已知字符集,比如ASCII码,那可以用一个256大小的整数数组对一个词的各个字符先计数,然后把 ...

聪明~做这道题的时候没有想时间复杂度。。所以是扫一遍string再扫一遍256size的array吧 这样确实是O(MN)
回复 支持 反对

使用道具 举报

DreamBoy 发表于 2016-9-28 11:28:12 | 显示全部楼层
感谢 特意回去看了下各种sorting
回复 支持 反对

使用道具 举报

zhuhai_ZFC 发表于 2016-9-28 11:36:12 | 显示全部楼层
DreamBoy 发表于 2016-9-28 11:04
聪明~做这道题的时候没有想时间复杂度。。所以是扫一遍string再扫一遍256size的array吧 这样确实是O(MN)

楼主能否具体说一下bucket sort的思路?或者贴一段代码?虽然用计数数组理论上是O(MN),但实际上常数项非常大(256),运行起来未必快。
回复 支持 反对

使用道具 举报

DreamBoy 发表于 2016-9-28 12:19:27 | 显示全部楼层
zhuhai_ZFC 发表于 2016-9-28 11:36
楼主能否具体说一下bucket sort的思路?或者贴一段代码?虽然用计数数组理论上是O(MN),但实际上常数项非 ...

lz不是已经说了就是这样么、、、虽然未必快
回复 支持 反对

使用道具 举报

 楼主| liyuanxi23 发表于 2016-9-28 13:54:57 | 显示全部楼层
zhuhai_ZFC 发表于 2016-9-28 11:36
楼主能否具体说一下bucket sort的思路?或者贴一段代码?虽然用计数数组理论上是O(MN),但实际上常数项非 ...
. more info on 1point3acres.com
没有256, 26个字母 数组只要 int【26】 就够了。
回复 支持 反对

使用道具 举报

zhuhai_ZFC 发表于 2016-9-29 00:07:59 | 显示全部楼层
fitta 发表于 2016-9-28 14:37. more info on 1point3acres.com
感觉像这个人这样用prime number来hash也可以: https://discuss.leetcode.com/topic/12509/o-m-n-algorithm ...
. from: 1point3acres.com/bbs
厉害!居然用prime number来hash。。。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-9 20:12

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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