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

Google 电面

🔗
unclewang 2014-10-27 02:10:53 | 只看该作者
全局:
问一下,如果给的单词里有dog 也有dogg,他们的输出分别应该是什么呢?
回复

使用道具 举报

🔗
Arthur2012 2014-10-27 02:38:53 | 只看该作者
全局:
谢谢lz了,我感觉可以用trie tree做,PS电面不容易!
回复

使用道具 举报

🔗
xperzy 2014-10-27 05:08:24 | 只看该作者
全局:
思路是不是这样啊?

扫一遍input array, 建一个trie(前缀树),搜到每个单词,向上查找,直到parent有大于一的children stop,当前node就是要找的结果。
e.g.
                                     ()
                                       |
                                    (d)
                                    /      \
                            (do)       (du)
                             /      \           \
                    (dog) (dot) (duck)

dot 向上 do有2 children,所以 dot本身就是结果
duck-->du-->d,d有2个children,所以du就是结果



回复

使用道具 举报

🔗
Arthur2012 2014-10-27 05:13:55 | 只看该作者
全局:
xperzy 发表于 2014-10-27 05:08
思路是不是这样啊?

扫一遍input array, 建一个trie(前缀树),搜到每个单词,向上查找,直到parent有 ...

请问:ab,abb,abbb这种情况怎么办,第一个word是后面word的一个前缀
回复

使用道具 举报

🔗
lixiang.xjtu 2014-10-27 05:48:28 | 只看该作者
全局:
byrlhb 发表于 2014-10-26 10:44
sorry,想错了,要更复杂一些

没错的。应该就是这样的。在Trie的每个中间节点加一个count field,插入的时候,count++,最后输出的时候,输出count为1的最高的那个点
回复

使用道具 举报

🔗
shinichish 2014-10-27 06:33:53 | 只看该作者
全局:
unclewang 发表于 2014-10-27 02:10
问一下,如果给的单词里有dog 也有dogg,他们的输出分别应该是什么呢?

应该还是一样的把
回复

使用道具 举报

🔗
 楼主| happysshao 2014-10-27 11:55:30 | 只看该作者
全局:
xperzy 发表于 2014-10-27 05:08
思路是不是这样啊?

扫一遍input array, 建一个trie(前缀树),搜到每个单词,向上查找,直到parent有 ...

如何向上查找,难道你要建立双向的trie?
我当时也是提高这样的思路,但是感觉写不出来。。。
回复

使用道具 举报

🔗
 楼主| happysshao 2014-10-27 11:56:58 | 只看该作者
全局:
Arthur2012 发表于 2014-10-27 05:13
请问:ab,abb,abbb这种情况怎么办,第一个word是后面word的一个前缀

你给出的例子类似:
[bearcat, bear]
{bearcat: bearc, bear: ""}

所以应该是 abbb:abbb;abb:"";ab:""
回复

使用道具 举报

🔗
Arthur2012 2014-10-27 12:10:07 | 只看该作者
全局:
happysshao 发表于 2014-10-27 11:56
你给出的例子类似:

{bearcat: bearc, bear: ""}

谢谢lz,lz一定会拿到onsite的,人品这么好!
回复

使用道具 举报

🔗
 楼主| happysshao 2014-10-27 13:12:00 | 只看该作者
全局:
Arthur2012 发表于 2014-10-27 12:10
谢谢lz,lz一定会拿到onsite的,人品这么好!

谢谢了!
回复

使用道具 举报

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

本版积分规则

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