y*****e 发帖数: 712 | 1 在别的网站看到的,问了也没人理我,还请原作者见谅。
一个List,String的内容是emp向上级汇报,类似emp1 report to emp2 of
info1,也会有大boss report to himself, emp1 report to emp1 of info 2.然后需
要按每个emp收到的信息格式分级parse出来输出。请问大概的思路是怎样的?感觉像是
graph遍历。。 |
e*******7 发帖数: 347 | |
l*****n 发帖数: 246 | 3 就是简单的dfs遍历graph啊
【在 y*****e 的大作中提到】 : 在别的网站看到的,问了也没人理我,还请原作者见谅。 : 一个List,String的内容是emp向上级汇报,类似emp1 report to emp2 of : info1,也会有大boss report to himself, emp1 report to emp1 of info 2.然后需 : 要按每个emp收到的信息格式分级parse出来输出。请问大概的思路是怎样的?感觉像是 : graph遍历。。
|
c*******e 发帖数: 621 | 4 就是给一堆树的edge,把树按dfs print出来 |
y*****e 发帖数: 712 | 5 我想问怎么parse string啊?是不是string.split就可以,主要不知道input的形式,
是不是固定第一列就是follower,第三列就是boss之类的?
【在 l*****n 的大作中提到】 : 就是简单的dfs遍历graph啊
|
y****9 发帖数: 252 | 6 这道题我也问了,很快就解答了,最终还是拒绝了。。。lol
我的第一行是N,说明下面有N行
每一行第一个是组员,第二个是manager,第三个是组员的info
所以默认每一行都是三个元素。我用C#解,hackrank 用起来还真的不习惯,哈。。。
我额外设定了一个变量string,叫CEO。然后person类的设定是 string Name, string
Info,list of string Team。数据结构就是dictionary,key是string Name,value
是这个person类
如果第二个元素和第一个元素相同就不添加到manager的 Team里面,否则就把第一个元
素添加到第二个元素的Team里面
然后就DFS(string name,int depth),初始化是DFS(CEO,0),内容就不说了吧,如果
Team.Length 大于0,就 foreach DFS(member,depth+1)
我的depth是用来打印前面的tab(t)的,depth代表tab的个数。。。
肉丝,不知道讲得清楚不。。最终也不知道为什么额被拒绝了。。。面试被拒了也没太
多遗憾,这23万也不一定中签啊,而且,我不知道为啥就是不喜欢Python,人人都说好
用,我就用得别扭
最后感谢zenefits内推的前辈吧。。。各位加油。。。
【在 y*****e 的大作中提到】 : 我想问怎么parse string啊?是不是string.split就可以,主要不知道input的形式, : 是不是固定第一列就是follower,第三列就是boss之类的?
|
y*****e 发帖数: 712 | 7 谢谢C#小哥的耐心解答。。我大概明白了,你答得这么好还是没拿到offer,我觉得我
更没戏了。尤其是那步用depth记录tab的个数,真是好巧妙啊。
越看面经越没信心,看到一亩上说150人+竞争一个位置。但既然申请了,也要有失有终
,毕竟自己还是挺喜欢这公司的,还花了那么长时间准备OA...
跟着你一起感谢一下推荐我们的大神吧,多个面试机会就是多个希望。能走到多远要看
个人的机缘,尽力而为就好了。
string
value
【在 y****9 的大作中提到】 : 这道题我也问了,很快就解答了,最终还是拒绝了。。。lol : 我的第一行是N,说明下面有N行 : 每一行第一个是组员,第二个是manager,第三个是组员的info : 所以默认每一行都是三个元素。我用C#解,hackrank 用起来还真的不习惯,哈。。。 : 我额外设定了一个变量string,叫CEO。然后person类的设定是 string Name, string : Info,list of string Team。数据结构就是dictionary,key是string Name,value : 是这个person类 : 如果第二个元素和第一个元素相同就不添加到manager的 Team里面,否则就把第一个元 : 素添加到第二个元素的Team里面 : 然后就DFS(string name,int depth),初始化是DFS(CEO,0),内容就不说了吧,如果
|
y****9 发帖数: 252 | 8 嗯啊,这个其实看缘分的。面试官喜欢你,你喜欢面试官就可以了。毕竟这个题也不难
,应该有不少人都能回答到80分的,剩下的20分就看机缘了。
我原先的方案是不用递归,是自己写栈 来控制深度的,写到一半被叫停了。然后问我
知不知道graph 有什么遍历的方式,我没太听清楚啥意思,然后他问我DFS还是BFS,估
计是这个地方跌了一下吧。最后全删了写了递归结束。
祝你好运,我就暂时不玩了,半年一年后再找工作吧。 |
y*****e 发帖数: 712 | 9 小哥先别走,我还有个问题:
输入会是一个人向多个人report吗?比如
a b infor
a c infor?
还是一个人只有一个上级,但一个上级可能有很多下级?
还有遍历dfs的时候需要一个visited array来mark一下吧,还有你有其他终止loop的条
件?
string
value
【在 y****9 的大作中提到】 : 这道题我也问了,很快就解答了,最终还是拒绝了。。。lol : 我的第一行是N,说明下面有N行 : 每一行第一个是组员,第二个是manager,第三个是组员的info : 所以默认每一行都是三个元素。我用C#解,hackrank 用起来还真的不习惯,哈。。。 : 我额外设定了一个变量string,叫CEO。然后person类的设定是 string Name, string : Info,list of string Team。数据结构就是dictionary,key是string Name,value : 是这个person类 : 如果第二个元素和第一个元素相同就不添加到manager的 Team里面,否则就把第一个元 : 素添加到第二个元素的Team里面 : 然后就DFS(string name,int depth),初始化是DFS(CEO,0),内容就不说了吧,如果
|
y*****e 发帖数: 712 | 10 哎你可以选择暂时不找也挺幸福的,我现在是不得不找,哎身心俱疲,竞争太激烈了。
【在 y****9 的大作中提到】 : 嗯啊,这个其实看缘分的。面试官喜欢你,你喜欢面试官就可以了。毕竟这个题也不难 : ,应该有不少人都能回答到80分的,剩下的20分就看机缘了。 : 我原先的方案是不用递归,是自己写栈 来控制深度的,写到一半被叫停了。然后问我 : 知不知道graph 有什么遍历的方式,我没太听清楚啥意思,然后他问我DFS还是BFS,估 : 计是这个地方跌了一下吧。最后全删了写了递归结束。 : 祝你好运,我就暂时不玩了,半年一年后再找工作吧。
|
|
|
l*****n 发帖数: 246 | 11 问一下为啥题目做出来了也悲剧了啊??被烙印黑了吗??
面试多长时间?就这一道题吗?
string
value
【在 y****9 的大作中提到】 : 这道题我也问了,很快就解答了,最终还是拒绝了。。。lol : 我的第一行是N,说明下面有N行 : 每一行第一个是组员,第二个是manager,第三个是组员的info : 所以默认每一行都是三个元素。我用C#解,hackrank 用起来还真的不习惯,哈。。。 : 我额外设定了一个变量string,叫CEO。然后person类的设定是 string Name, string : Info,list of string Team。数据结构就是dictionary,key是string Name,value : 是这个person类 : 如果第二个元素和第一个元素相同就不添加到manager的 Team里面,否则就把第一个元 : 素添加到第二个元素的Team里面 : 然后就DFS(string name,int depth),初始化是DFS(CEO,0),内容就不说了吧,如果
|
y*****e 发帖数: 712 | 12 我也觉得是,这种面试方式其实对面试者太不公平了,挂的莫名其妙的,还不允许给
feedback。
【在 l*****n 的大作中提到】 : 问一下为啥题目做出来了也悲剧了啊??被烙印黑了吗?? : 面试多长时间?就这一道题吗? : : string : value
|
y****9 发帖数: 252 | 13 我不愿意回答是不是被黑的问题,烙印与老中之争我不愿意细谈。我们瞎扯了十分钟,
他聊了一下他的PhD学校,我聊了一下我的Master 的学校,然后专业之类的。
然后我就开始写了,肉丝你提到的问题我当时我就问了他了,他说一个人只能report一
个人,也就是说第一列里面的数据是不重复的。但第二列可能,因为一个人管多个人。
写了二十分钟被暂停用栈,然后改了用递归,大概再过十分钟全部写好了。我是边写边
debug 打印,所以有syntax 的修改就在中途完成了。
最后十分钟,我们继续瞎扯,我问了转专业的问题,问了他的side project 的问题,
问了他有没有做硬件的问题,本来要问签证的问题的,无奈这个面试官是PR,就停住了。
因为我之前面试因为不问问题被拒绝过一次,恰好,我们公司两个星期前刚刚启用了
workday,我就在瞎折腾,就发现了这个Manager tree的功能,那个UI 很Fancy,刚开
始只是列出你这个级别人,然后鼠标一直往上滚就看到你manager 同级的人,然后继续
往上能到CEO。当时我就想多个report to 怎么办,结果看到员工profile 里面就不允
许写两个report to。还有别的折腾的故事就不说了,workday 还是很多bugs的。 |
s********a 发帖数: 1447 | 14 我对这题的理解是 如果emp1 级别低于emp2 级别低于emp3 那结果就是
打印emp1收到的info
然后打印emp2都到的info
然后打印emp3收到的info
这个可不可以用类似于topological sort
parse string的时候 如果是emp1 report to emp2 of info1
那么就用emp1 -> emp2 代表
info 1就存到emp2里面
这样级别就都出来了
然后用bfs打印就好了 |
t****i 发帖数: 88 | 15 题目都没看懂,太捉急了
假如input是
e1 e2 info1
e3 e2 info3
e5 e0 info5
e0 e0 info0
想要的输出是啥样的? |