[职场感言] 工作一年了,聊聊三件事

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 3339|回复: 33
收起左侧

[找工就业] Facebook intern 二面面经 攒人品!

[复制链接] |试试Instant~ |关注本帖
invinsibility 发表于 2016-2-19 06:37:22 | 显示全部楼层 |阅读模式

2016(1-3月)-[]EE博士+<3个月短暂实习/全职 - 内推| 码农类General实习@Facebookfresh grad应届毕业生

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

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

x
刚刚面完facebook intern, 二面。面经如下:
. 围观我们@1point 3 acres
Given a set of words find all palindrome pairs.

Input:
tragic
cigar  
ragic
none. 1point 3acres 论坛
xenon
cat
dog
taragic
cigar. 留学申请论坛-一亩三分地


Output: (cigar, tragic) -> (none, xenone)....
给了一个O(mn^2)的算法,叫改进。 只面了这一道题,感觉虚得很。攒人品,攒人品, 攒人品!!!

本帖被以下淘专辑推荐:

喜马拉雅疯子 发表于 2016-2-19 06:55:16 | 显示全部楼层
我的想法是用一个hashmap,对于每个访问到的word,判断其整体的reverse的形式是否在map中,如果在,则找到一个。另外再判断截掉第一个字母的reverse形式是否在map中,如果也在,并且这个key并不是别的word截掉了一个字母的形式,那么又找到一组。(判断是否是另外的word是否截掉第一个字母的可以用set来判断)。然后保存两种状态,一个是截掉头一个字母放入map,并把这个放入set,另一个是直接原生的word放入set。
如此一个loop可以完成吧,如果算上reverse的时间,平均每个单词长度L,n个单词。时间复杂度O(nL). Waral 博客有更多文章,
来源一亩.三分地论坛.
补充内容 (2016-2-19 06:56):
额。是原生的word放入map= =

补充内容 (2016-2-19 07:06):
另外duplicate的时候出现了aaa,aaa,aaaa的情况直接判断一下map的key下面有没有value就可以了
回复 支持 反对

使用道具 举报

dendi 发表于 2016-2-19 14:56:04 | 显示全部楼层
喜马拉雅疯子 发表于 2016-2-19 06:55.本文原创自1point3acres论坛
我的想法是用一个hashmap,对于每个访问到的word,判断其整体的reverse的形式是否在map中,如果在,则找到 ...

可以直接存所有的形式啊,比如abc,直接存abc, cb,cba,ba 4个key ,然后判断之后有没相同的key.
回复 支持 反对

使用道具 举报

Morphy 发表于 2016-2-20 01:50:04 | 显示全部楼层
暂时只想到对于每个字符串,逆序加入trie tree,然后对每个字符串在trie tree里查是否存在前缀为字符串的逆序字符串,然后再进行判断。
回复 支持 反对

使用道具 举报

喜马拉雅疯子 发表于 2016-2-20 02:43:05 | 显示全部楼层
dendi 发表于 2016-2-19 14:56. 牛人云集,一亩三分地
可以直接存所有的形式啊,比如abc,直接存abc, cb,cba,ba 4个key ,然后判断之后有没相同的key.

都可以其实。。。不过duplicate的时候可能判断起来麻烦些吧
回复 支持 反对

使用道具 举报

dendi 发表于 2016-2-20 03:38:07 | 显示全部楼层
喜马拉雅疯子 发表于 2016-2-20 02:43
都可以其实。。。不过duplicate的时候可能判断起来麻烦些吧

嗯,找到一个match的话其实就可见判断这对pair是否已经搜到过。。。
还有楼主说的截掉一个字母没怎么看懂,比如 abcbc,ba这种。。
同样楼上那个逆序trie 优化的话,还需要把每个字母从新修改。

回复 支持 反对

使用道具 举报

pivotal 发表于 2016-2-20 13:29:12 | 显示全部楼层
同学你好,facebook面试需要特定的语言吗,看到了你用的数据结构,感觉如果用面试官了解的语言,会让面试官有一种 “啊,这正是我所想要的” 的感觉。你觉得用python 面试会不会吃亏呢?
回复 支持 反对

使用道具 举报

 楼主| invinsibility 发表于 2016-2-21 06:00:20 | 显示全部楼层
pivotal 发表于 2016-2-20 13:29. From 1point 3acres bbs
同学你好,facebook面试需要特定的语言吗,看到了你用的数据结构,感觉如果用面试官了解的语言,会让面试官 ...

不限制语言,用你最自信,最熟悉的语言答题。
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

zhuyisong 发表于 2016-2-21 08:47:03 | 显示全部楼层
请问楼主有比较好的答案了吗?求指教
回复 支持 反对

使用道具 举报

iwofr 发表于 2016-2-21 09:09:43 | 显示全部楼层
就是和two sum一样的思路?只不过数变成了word,sum target变成了palindrome,instead of saving target-sum, save the palindrome of word in hashmap
回复 支持 反对

使用道具 举报

dendi 发表于 2016-2-21 10:16:33 | 显示全部楼层
iwofr 发表于 2016-2-21 09:09
就是和two sum一样的思路?只不过数变成了word,sum target变成了palindrome,instead of saving target-su ...
.本文原创自1point3acres论坛
和上面说的一样,不过这样的方法有个缺点, abababababababa 这种复杂度会很高。还不如直接brute force.
回复 支持 反对

使用道具 举报

DJ963 发表于 2016-2-21 11:22:09 | 显示全部楼层
想问一下楼主怎么优化的啊

补充内容 (2016-2-21 11:24):. 1point3acres
还有就是 cigar 和 tragic是一对,那么taragic和cigar是不是也是一对啊
回复 支持 反对

使用道具 举报

frank11118 发表于 2016-2-23 09:52:15 | 显示全部楼层
想請問樓主 pair 的規則. visit 1point3acres for more.

請問 cigar 和 ragicat 也算不算是 pair 呢?
回复 支持 反对

使用道具 举报

 楼主| invinsibility 发表于 2016-2-23 23:16:48 | 显示全部楼层
DJ963 发表于 2016-2-21 11:22
想问一下楼主怎么优化的啊

补充内容 (2016-2-21 11:24):
. 1point 3acres 论坛
不算,taragic和cigar无论哪个放在前面都不能是polindrome啊?你怎么想的
回复 支持 反对

使用道具 举报

 楼主| invinsibility 发表于 2016-2-23 23:17:20 | 显示全部楼层
frank11118 发表于 2016-2-23 09:52
想請問樓主 pair 的規則

請問 cigar 和 ragicat 也算不算是 pair 呢?

不算,哪个放在前面都不能是polindrome.
回复 支持 反对

使用道具 举报

DJ963 发表于 2016-2-23 23:29:11 | 显示全部楼层
invinsibility 发表于 2016-2-23 23:16
不算,taragic和cigar无论哪个放在前面都不能是polindrome啊?你怎么想的
. 牛人云集,一亩三分地
没明白哪个放在前面都不能是polindrome是什么意思啊~
回复 支持 反对

使用道具 举报

 楼主| invinsibility 发表于 2016-2-23 23:54:07 | 显示全部楼层
DJ963 发表于 2016-2-23 23:29
没明白哪个放在前面都不能是polindrome是什么意思啊~

你说说taragic和cigar怎么变成一对polindrome
回复 支持 反对

使用道具 举报

DJ963 发表于 2016-2-24 00:52:52 | 显示全部楼层
invinsibility 发表于 2016-2-23 23:54. visit 1point3acres for more.
你说说taragic和cigar怎么变成一对polindrome

因为taragic 倒过来是 cigarat吧? 所以 cigar是 taragic倒序的一个字串,所以他俩算polindrome吗
回复 支持 反对

使用道具 举报

frank11118 发表于 2016-2-24 02:44:59 | 显示全部楼层
invinsibility 发表于 2016-2-23 23:17
不算,哪个放在前面都不能是polindrome.

因為您提供的 output 有 (cigar, tragic) ,所以才會認為他們是一對的. from: 1point3acres
所以(cigar, tragic)不算一對囉?
回复 支持 反对

使用道具 举报

 楼主| invinsibility 发表于 2016-2-24 05:28:46 | 显示全部楼层
DJ963 发表于 2016-2-24 00:52. From 1point 3acres bbs
因为taragic 倒过来是 cigarat吧? 所以 cigar是 taragic倒序的一个字串,所以他俩算polindrome吗
. From 1point 3acres bbs
不算,单个词是不能倒序的
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-24 18:18

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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