由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Glassdoor上面看到一道F家最近的面试题,来讨论一下?
相关主题
一道MS题finds all repeated substrings in the string --- YAHOO interview question
How to solve this problem?这里牛人多,给大家来个算法的问题
面试题:写一个猜单词策略问一下prefix tree (trie) 的题目
问一个G的面试题Bloomberg 一道题
求问一道面试题新鲜onsite面经
两道A家面试题那个 google hint words 的老题
Amazon电面经什么时候用SUFFIX TREE,什么时候用TRIE
问2道面试题Amazon telephone interview
相关话题的讨论汇总
话题: asdf话题: trie话题: foo话题: sort话题: glassdoor
进入JobHunting版参与讨论
1 (共1页)
t*******2
发帖数: 182
1
Given a set of strings, return the smallest subset that contains prefixes
for every string.
If the list is ['foo', 'foog', 'food', 'asdf'] return ['foo', 'asdf']
b******i
发帖数: 914
2
为什么不是返回['f', 'a']呢?是要求返回的subset里面没个元素要是原来的set的
string吗?
大概的思路就是:
1. 先对原来的list建一个trie
2. 从trie的root开始做BFS,有非空的child就往下走,直到找到第一个是词的child,
在这
个过程中把path放到result中

【在 t*******2 的大作中提到】
: Given a set of strings, return the smallest subset that contains prefixes
: for every string.
: If the list is ['foo', 'foog', 'food', 'asdf'] return ['foo', 'asdf']

z******y
发帖数: 444
3

list很长且prefix多的时候,会很多棵树,效率很低吧...不过也想不出更好的办法

【在 b******i 的大作中提到】
: 为什么不是返回['f', 'a']呢?是要求返回的subset里面没个元素要是原来的set的
: string吗?
: 大概的思路就是:
: 1. 先对原来的list建一个trie
: 2. 从trie的root开始做BFS,有非空的child就往下走,直到找到第一个是词的child,
: 在这
: 个过程中把path放到result中

c******n
发帖数: 4965
4
题目定义不清楚,
你说得对, 照它现在这样说, 就是看所有string 最头的一个字母有多少uniq 的

【在 b******i 的大作中提到】
: 为什么不是返回['f', 'a']呢?是要求返回的subset里面没个元素要是原来的set的
: string吗?
: 大概的思路就是:
: 1. 先对原来的list建一个trie
: 2. 从trie的root开始做BFS,有非空的child就往下走,直到找到第一个是词的child,
: 在这
: 个过程中把path放到result中

d******e
发帖数: 2265
5
trie可以但是是ovekill.
简单的用sort,然后下面写个isprefixhelper func。小量这个简单的很。
note that
A is prefix or b, b is prefix of C means, A --> C.
so after sort, it is o(n) computation.

【在 b******i 的大作中提到】
: 为什么不是返回['f', 'a']呢?是要求返回的subset里面没个元素要是原来的set的
: string吗?
: 大概的思路就是:
: 1. 先对原来的list建一个trie
: 2. 从trie的root开始做BFS,有非空的child就往下走,直到找到第一个是词的child,
: 在这
: 个过程中把path放到result中

P******r
发帖数: 1342
6
建trie的复杂度是多少?sort呢?

:trie可以但是是ovekill.
:简单的用sort,然后下面写个isprefixhelper func。小量这个简单的很。
d******e
发帖数: 2265
7
你不要光看复杂度。你写一个trie放product里面出 bug的概率多少?你申请那么多内
存代价是多少?你几天能出活?你要写多少test code?
老实用内建的优化的sort, in place 可以搞定所有的问题。
至于复杂度,我可以告诉你大多数情况python内置的timsort是o(n)。
光刷题出来的,什么都自己搞的,公司敢用嘛?

【在 P******r 的大作中提到】
: 建trie的复杂度是多少?sort呢?
:
: :trie可以但是是ovekill.
: :简单的用sort,然后下面写个isprefixhelper func。小量这个简单的很。

z***y
发帖数: 73
8
啊,好像没那么复杂吧。
trie和sort肯定都可以啦。
简单点就是遍历一遍,按照第一个字母分类。
然后遍历每一类,从第二个字母检查是否都一样,碰到末尾就说明结束了。
1 (共1页)
进入JobHunting版参与讨论
相关主题
Amazon telephone interview求问一道面试题
问个google老题的最佳解法两道A家面试题
How to design google search suggestion?Amazon电面经
最近面试碰到的题目问2道面试题
一道MS题finds all repeated substrings in the string --- YAHOO interview question
How to solve this problem?这里牛人多,给大家来个算法的问题
面试题:写一个猜单词策略问一下prefix tree (trie) 的题目
问一个G的面试题Bloomberg 一道题
相关话题的讨论汇总
话题: asdf话题: trie话题: foo话题: sort话题: glassdoor