avatar
新鲜G onsite 面经# JobHunting - 待字闺中
S*w
1
发个新鲜面经,顺便求bless
1. 一块矩形面板上有黑点, 白点, 红点
给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
时删除一个或多个字符
2. 设计贪吃蛇
怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
3. 设计售票系统, 要求
1. 每次返回5张可选最为
2. 保证不会给两个不同user返回同一个可选座位
3. 用户2分钟之内,没有购买,重新开始
moving average
要求, 内部用一个 固定大小数组
4. letter combination of phone number.
我写了递归的, 要求继续写迭代版本的。 这个在它提示下,才做出来了, 很
tricky , 没练过
5. 一个circle 列表。Circle 有x,y,r
1 ------------------------
0 ----------------------------
判断是否有一条路径可以从 负无穷到正无穷。
如果一个活多个circle完全block了通道,就没有路径
除了 letter combination of phone number. 的iterative版本 答的不好,其他的都
答的不错
求bless
avatar
y*e
2
bless!
avatar
c*n
3
第五你说得不太清楚, 通道是那两条直线 y==1. or y==0 么?

【在 S***w 的大作中提到】
: 发个新鲜面经,顺便求bless
: 1. 一块矩形面板上有黑点, 白点, 红点
: 给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
: 时删除一个或多个字符
: 2. 设计贪吃蛇
: 怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
: 3. 设计售票系统, 要求
: 1. 每次返回5张可选最为
: 2. 保证不会给两个不同user返回同一个可选座位

avatar
S*w
4

路径只能在 0 1 之间

【在 c******n 的大作中提到】
: 第五你说得不太清楚, 通道是那两条直线 y==1. or y==0 么?
avatar
h*e
5
thanks
bless

【在 S***w 的大作中提到】
: 发个新鲜面经,顺便求bless
: 1. 一块矩形面板上有黑点, 白点, 红点
: 给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
: 时删除一个或多个字符
: 2. 设计贪吃蛇
: 怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
: 3. 设计售票系统, 要求
: 1. 每次返回5张可选最为
: 2. 保证不会给两个不同user返回同一个可选座位

avatar
c*n
6
1.2 字典那个, 一个个比么? 每个O( length_of_dict_word) ,
还是要先build 个suffix tree 什么的? 后面的办法就没法写了吧。

【在 S***w 的大作中提到】
: 发个新鲜面经,顺便求bless
: 1. 一块矩形面板上有黑点, 白点, 红点
: 给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
: 时删除一个或多个字符
: 2. 设计贪吃蛇
: 怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
: 3. 设计售票系统, 要求
: 1. 每次返回5张可选最为
: 2. 保证不会给两个不同user返回同一个可选座位

avatar
n*n
7
不容易。

【在 S***w 的大作中提到】
: 发个新鲜面经,顺便求bless
: 1. 一块矩形面板上有黑点, 白点, 红点
: 给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
: 时删除一个或多个字符
: 2. 设计贪吃蛇
: 怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
: 3. 设计售票系统, 要求
: 1. 每次返回5张可选最为
: 2. 保证不会给两个不同user返回同一个可选座位

avatar
S*w
8
可能我说的不清楚
假设字典是
Apple orange banana
输入 orange 返回 orange
输入 daxpple 返回 apple

【在 c******n 的大作中提到】
: 1.2 字典那个, 一个个比么? 每个O( length_of_dict_word) ,
: 还是要先build 个suffix tree 什么的? 后面的办法就没法写了吧。

avatar
G*m
9
bless

【在 S***w 的大作中提到】
: 发个新鲜面经,顺便求bless
: 1. 一块矩形面板上有黑点, 白点, 红点
: 给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
: 时删除一个或多个字符
: 2. 设计贪吃蛇
: 怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
: 3. 设计售票系统, 要求
: 1. 每次返回5张可选最为
: 2. 保证不会给两个不同user返回同一个可选座位

avatar
z*c
10
这道是怎么做的

【在 S***w 的大作中提到】
: 可能我说的不清楚
: 假设字典是
: Apple orange banana
: 输入 orange 返回 orange
: 输入 daxpple 返回 apple

avatar
h*3
11
感觉楼主答得很好,应该没问题!
祝好运
avatar
r*7
12
bless
5就一题吗?
letter combination of phone number. 的iterative版本我觉得比1的两个题都容易很
多啊。还是说1只需要idea不用coding?

【在 S***w 的大作中提到】
: 发个新鲜面经,顺便求bless
: 1. 一块矩形面板上有黑点, 白点, 红点
: 给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
: 时删除一个或多个字符
: 2. 设计贪吃蛇
: 怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
: 3. 设计售票系统, 要求
: 1. 每次返回5张可选最为
: 2. 保证不会给两个不同user返回同一个可选座位

avatar
c*n
13
谢谢。 我意思确实是不知道怎么做。 题目明白。
给一个dictionary word w, 和已知 query string S, 可以O(w + S) 找到 S 是不是
可以退化成w.
但是总的解就是for w in all_words :
if (isDegenerate(S, w)) best = Math.max(w.length(), best)
这样么?
感觉有高级一点快一点的办法吧,尤其如果多次query 的话

【在 S***w 的大作中提到】
: 可能我说的不清楚
: 假设字典是
: Apple orange banana
: 输入 orange 返回 orange
: 输入 daxpple 返回 apple

avatar
r*7
14
字典建成trie然后对query的后缀树数组进行query然后track状态。
复杂度是O(|S|*|W|)

【在 c******n 的大作中提到】
: 谢谢。 我意思确实是不知道怎么做。 题目明白。
: 给一个dictionary word w, 和已知 query string S, 可以O(w + S) 找到 S 是不是
: 可以退化成w.
: 但是总的解就是for w in all_words :
: if (isDegenerate(S, w)) best = Math.max(w.length(), best)
: 这样么?
: 感觉有高级一点快一点的办法吧,尤其如果多次query 的话

avatar
c*n
15
你用query 即使是suffix 它也是连续的, 在trie 上walk down 也是连续的。
题目要求可以在query 上任去掉字母。 如果用trie 的话,我能想到的就是必须把
query 上每一个字母敲掉的version 都去trie 上试一遍,那就exponential 了

【在 r****7 的大作中提到】
: 字典建成trie然后对query的后缀树数组进行query然后track状态。
: 复杂度是O(|S|*|W|)

avatar
r*7
16
我说了在trie里边track状态啊
没有match上的state保持不变而不是转移到termination。

【在 c******n 的大作中提到】
: 你用query 即使是suffix 它也是连续的, 在trie 上walk down 也是连续的。
: 题目要求可以在query 上任去掉字母。 如果用trie 的话,我能想到的就是必须把
: query 上每一个字母敲掉的version 都去trie 上试一遍,那就exponential 了

avatar
c*n
17
能不能写个大概的code , 意思明确些。 多谢
trie 每一步的branch是query string 上的字符觉定, 你字符有可能跳过, 那不就成
了 NFA 了么(anyway trie 就是一个DFA )

【在 r****7 的大作中提到】
: 我说了在trie里边track状态啊
: 没有match上的state保持不变而不是转移到termination。

avatar
S*w
18
我太挫了
我觉得 iterative 很难呢

【在 r****7 的大作中提到】
: bless
: 5就一题吗?
: letter combination of phone number. 的iterative版本我觉得比1的两个题都容易很
: 多啊。还是说1只需要idea不用coding?

avatar
S*w
19
bfs阿

【在 z***c 的大作中提到】
: 这道是怎么做的
avatar
S*w
20
我晕 我看不懂
不过你想的太复杂了
我是用bfs, 一次删掉1个字符

【在 c******n 的大作中提到】
: 谢谢。 我意思确实是不知道怎么做。 题目明白。
: 给一个dictionary word w, 和已知 query string S, 可以O(w + S) 找到 S 是不是
: 可以退化成w.
: 但是总的解就是for w in all_words :
: if (isDegenerate(S, w)) best = Math.max(w.length(), best)
: 这样么?
: 感觉有高级一点快一点的办法吧,尤其如果多次query 的话

avatar
c*n
21
ok, 你意思说 所有dictionary word 在一个hashmap 里面o(1) time 可以决定是不是
存在?
然后穷举S 的所有enumeration(keep letter order), 看是不是match ?

【在 S***w 的大作中提到】
: 我晕 我看不懂
: 不过你想的太复杂了
: 我是用bfs, 一次删掉1个字符

avatar
b*o
22
请问你这个是entry level的面试吗?
avatar
S*w
23
dict 是hashset
也不是穷举
0: 检查去掉0个字符
1: 检查去掉1个字符
...

【在 c******n 的大作中提到】
: ok, 你意思说 所有dictionary word 在一个hashmap 里面o(1) time 可以决定是不是
: 存在?
: 然后穷举S 的所有enumeration(keep letter order), 看是不是match ?

avatar
S*w
24
应该是吧 google不认其他公司的经验,除了其他实力相当的公司巴?

【在 b****o 的大作中提到】
: 请问你这个是entry level的面试吗?
avatar
h*l
25
bless!

【在 S***w 的大作中提到】
: 发个新鲜面经,顺便求bless
: 1. 一块矩形面板上有黑点, 白点, 红点
: 给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
: 时删除一个或多个字符
: 2. 设计贪吃蛇
: 怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
: 3. 设计售票系统, 要求
: 1. 每次返回5张可选最为
: 2. 保证不会给两个不同user返回同一个可选座位

avatar
e*2
26
cirle那题有O(N)解法吗?只想到O(N^2)的

【在 S***w 的大作中提到】
: 发个新鲜面经,顺便求bless
: 1. 一块矩形面板上有黑点, 白点, 红点
: 给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
: 时删除一个或多个字符
: 2. 设计贪吃蛇
: 怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
: 3. 设计售票系统, 要求
: 1. 每次返回5张可选最为
: 2. 保证不会给两个不同user返回同一个可选座位

avatar
m*3
27
bless, circle那题题意不理解阿,能详细说说,给个例子么?
avatar
b*w
28
LZ第5题你是怎么做的?
能想到的是先建一个connectivity map o(n^2)
然后dfs
avatar
b*w
29
在x-y坐标平面上画两条线y=0 和 y=1, 之间的区域就是通道
把所有circle画上去,circle之间可能touch,判断通道最后能否联通

【在 m******3 的大作中提到】
: bless, circle那题题意不理解阿,能详细说说,给个例子么?
avatar
h*0
30
楼主 售票系统你是怎么答的?
avatar
e*2
31
synchorized chooseFive(){}, synchronized putFive(); thread.interrupt() and
ScheduledThreadPool() to implement two minutes timeout. Any other ideas?

【在 h*******0 的大作中提到】
: 楼主 售票系统你是怎么答的?
avatar
m*3
32
多谢,这道题怎么做呢?

【在 b*****w 的大作中提到】
: 在x-y坐标平面上画两条线y=0 和 y=1, 之间的区域就是通道
: 把所有circle画上去,circle之间可能touch,判断通道最后能否联通

avatar
e*2
33
他都说了,dfs加connectivity,hint:如果有一条折线把A->B->C->D连起来就行了。
其中A在x=0上,D在x=1上, B, C是圆心,A和B相交,B和C相交,C和D相交,能找出来就
行了。

【在 m******3 的大作中提到】
: 多谢,这道题怎么做呢?
avatar
e*2
34
把圆们分成2 sets,两个sets,第一个set的圆可以reach x=0(might via some
circles),第二个set的圆可以reach x=1(might via some circles),如果两个
set的交非空,就block了。

【在 e********2 的大作中提到】
: 他都说了,dfs加connectivity,hint:如果有一条折线把A->B->C->D连起来就行了。
: 其中A在x=0上,D在x=1上, B, C是圆心,A和B相交,B和C相交,C和D相交,能找出来就
: 行了。

avatar
l*u
35
bless

【在 S***w 的大作中提到】
: 发个新鲜面经,顺便求bless
: 1. 一块矩形面板上有黑点, 白点, 红点
: 给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
: 时删除一个或多个字符
: 2. 设计贪吃蛇
: 怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
: 3. 设计售票系统, 要求
: 1. 每次返回5张可选最为
: 2. 保证不会给两个不同user返回同一个可选座位

avatar
s*4
36
先Mark一下
avatar
m*s
37
Bless

【在 S***w 的大作中提到】
: 发个新鲜面经,顺便求bless
: 1. 一块矩形面板上有黑点, 白点, 红点
: 给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
: 时删除一个或多个字符
: 2. 设计贪吃蛇
: 怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
: 3. 设计售票系统, 要求
: 1. 每次返回5张可选最为
: 2. 保证不会给两个不同user返回同一个可选座位

avatar
l*k
38
第5题有比n squared 好的方法没有?
n-squared:
1. cluster cycles. If two cycles have overlap, put them into one cluster.
2. If the max y and min y of cycles in any cluster exceed y=0, y=1, then no
path.

【在 S***w 的大作中提到】
: 发个新鲜面经,顺便求bless
: 1. 一块矩形面板上有黑点, 白点, 红点
: 给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
: 时删除一个或多个字符
: 2. 设计贪吃蛇
: 怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
: 3. 设计售票系统, 要求
: 1. 每次返回5张可选最为
: 2. 保证不会给两个不同user返回同一个可选座位

avatar
c*n
39
没有吧, 连起来只不过给你一个connected component, 比如说这个图是一个star 形
状, 你还得找哪个点跟横线的距离最近

【在 e********2 的大作中提到】
: 他都说了,dfs加connectivity,hint:如果有一条折线把A->B->C->D连起来就行了。
: 其中A在x=0上,D在x=1上, B, C是圆心,A和B相交,B和C相交,C和D相交,能找出来就
: 行了。

avatar
n*n
40
一块矩形面板上有黑点, 白点, 红点。给一个起点,找出和这个点颜色相同,且相连
的点组。
没看懂。
给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作删除
一个或多个字符
删多个不就是多次删,每次删一个吗?

【在 S***w 的大作中提到】
: 发个新鲜面经,顺便求bless
: 1. 一块矩形面板上有黑点, 白点, 红点
: 给一个起点,找出和这个点颜色相同,且相连的点组。 求这个点组的周长
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作
: 时删除一个或多个字符
: 2. 设计贪吃蛇
: 怎么定义蛇, 怎么移动, 怎么吃, 怎么判断时候活着, 怎么定义游戏版
: 3. 设计售票系统, 要求
: 1. 每次返回5张可选最为
: 2. 保证不会给两个不同user返回同一个可选座位

avatar
S*w
41
第一个, 求相同颜色块的边的长度。 画个图就更清楚了
第二个, 对

【在 n******n 的大作中提到】
: 一块矩形面板上有黑点, 白点, 红点。给一个起点,找出和这个点颜色相同,且相连
: 的点组。
: 没看懂。
: 给一个字典,一个字符串, 找出可以由这个字串合法转成的最长单词。 转换操作删除
: 一个或多个字符
: 删多个不就是多次删,每次删一个吗?

avatar
S*w
42
对的

【在 e********2 的大作中提到】
: 他都说了,dfs加connectivity,hint:如果有一条折线把A->B->C->D连起来就行了。
: 其中A在x=0上,D在x=1上, B, C是圆心,A和B相交,B和C相交,C和D相交,能找出来就
: 行了。

avatar
M*T
43
第一题白点黑点的是啥意思?没看懂
avatar
S*w
44
换个图就知道
求一团同色点的边界

【在 M**********T 的大作中提到】
: 第一题白点黑点的是啥意思?没看懂
avatar
g*c
45
第一题 比如连红色的点 可以有不同的连法导致周长不同?
弱问一下每一题都是要当场把code写全吗?有没有是说说想法就可以的?
avatar
g*c
46
求回复~

【在 g*****c 的大作中提到】
: 第一题 比如连红色的点 可以有不同的连法导致周长不同?
: 弱问一下每一题都是要当场把code写全吗?有没有是说说想法就可以的?

avatar
S*w
47
1. 不会阿 周长固定阿
2. 当然写code

【在 g*****c 的大作中提到】
: 第一题 比如连红色的点 可以有不同的连法导致周长不同?
: 弱问一下每一题都是要当场把code写全吗?有没有是说说想法就可以的?

avatar
s*n
48
第一题看不懂, 怎么算相连?
avatar
c*4
49
加油!
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。