Redian新闻
>
请教一下,这道题目是什么水平的?
avatar
请教一下,这道题目是什么水平的?# JobHunting - 待字闺中
h*i
1
二叉树,计算节点之间的距离
A (B (D, E), C), dist(D, C, A) = 3
让写出来函数dist()。
我困惑的是,
1,在leetcode做题的时候,数据的结构框架都搭建好了并且告诉我们了。这道题是要
我把树的结构搭建自己写出来吗?我确实写不出来,几乎从来没写过。
2,这个可能对计算机背景很简单?我以前学c++的时候也学过相关二叉树搭建和调整。
不过空板写代码当年也做不到,现在更不可能。想问问看其他专业背景的人,这题是啥
水平?
avatar
d*n
2
树的结构构建不出来…楼主你是认真的吗
avatar
c*w
3
搭建树是测试用的。你就把dist算法写出来就好了。leetcode不用自己写test。面试的
时候就hard code建个tree测试就好了。又不用你写建树的算法。 你是不是想复杂了。
avatar
q*6
4
认真回答楼主问题:
1. 不需要,你只需要实现dist()
2. 题目感觉是中等难度(方法可参考leetcode 236 或者543),中等难度一般意味着
你在一轮面试45分钟内解决完这个问题外还要有能力再解决一个问题
建议:
二叉树类题目一般只有三类:
1、traverse (inorder、preorder、postorder)
2、递归和divide and conquer
3、level order traverse (bfs)
70%的题目都是第二类。
avatar
h*i
5
可是当时屏幕上只有我写的那一行内容。
像在leetcode, 都会在注释部分给出树的结构。
可是现在什么都没有。所以我就懵了,我不知道如何指向任何node,定义是什么?
所以我就糊涂了。我以为要自己把树的构造当场完成。
大家都是把这种结构都背熟了?


: 认真回答楼主问题:

: 1. 不需要,你只需要实现dist()

: 2. 题目感觉是中等难度(方法可参考leetcode 236 或者543),中等难度一般
意味着

: 你在一轮面试45分钟内解决完这个问题外还要有能力再解决一个问题

: 建议:

: 二叉树类题目一般只有三类:

: 1、traverse (inorder、preorder、postorder)

: 2、递归和divide and conquer

: 3、level order traverse (bfs)

: 70%的题目都是第二类。



【在 q******6 的大作中提到】
: 认真回答楼主问题:
: 1. 不需要,你只需要实现dist()
: 2. 题目感觉是中等难度(方法可参考leetcode 236 或者543),中等难度一般意味着
: 你在一轮面试45分钟内解决完这个问题外还要有能力再解决一个问题
: 建议:
: 二叉树类题目一般只有三类:
: 1、traverse (inorder、preorder、postorder)
: 2、递归和divide and conquer
: 3、level order traverse (bfs)
: 70%的题目都是第二类。

avatar
q*6
6
刚明白你说的构造是指树的节点定义。。
我只能说这个应该闭眼都能写出来,注意不是背下来的,只能说明你还没入门。
avatar
h*i
7
多谢你的回复和理解,我确实不入门。
我做题都是顺着注释里面的定义写程序解决题目,自己从来没写过注释内容的东西。如
我所说,哪怕当年本科学数据结构的时候,自己也做不到白板把树写出来。
而且我也不是计算机专业,申请的也不是码工。所以碰到这个题真的很无语。我真以为
要当场自己把树都写出来。
无论是leetcode还是hackrank, 都有很清楚的注释内容,甚至告诉你输入和输出的格式。
或许计算机专业的觉得这些都像是吃饭睡觉一样基本,这就是背景不同吧。


: 刚明白你说的构造是指树的节点定义。。

: 我只能说这个应该闭眼都能写出来,注意不是背下来的,只能说明你还没入门。



【在 q******6 的大作中提到】
: 刚明白你说的构造是指树的节点定义。。
: 我只能说这个应该闭眼都能写出来,注意不是背下来的,只能说明你还没入门。

avatar
h*c
8
为什么节点距离是三个点的距离?这个距离的定义是啥?比如D, E, C的距离是什么?
avatar
c*w
9
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
这就是最基本的定义一个二叉树结点的类。建议停止刷题,先看一本编程入门的书和简
单的数据结构的书再回来刷题。
avatar
h*i
10
我不懂。好像对方没做准备,顺手写出来的就这么多。
我写的这行是直接把他在HackerRank敲的copy过来的
我能看到的就这么多,然后让我写函数dist内容,我就傻眼了,然后他就说再见。


: 为什么节点距离是三个点的距离?这个距离的定义是啥?比如D, E, C的距离是
什么?



【在 h**c 的大作中提到】
: 为什么节点距离是三个点的距离?这个距离的定义是啥?比如D, E, C的距离是什么?
avatar
c*w
11
A
/ \
B C
/ \
D E
A is root node. distance between node D and node C is 3. something like this
?
avatar
h*i
12
我学过数据结构,我知道这基本是计算机系的内容了
可是我并不是要找码农工作,更何苦要去跟科班的竞争自己不会的呢?


: /**

: * Definition for a binary tree node.

: * public class TreeNode {

: * int val;

: * TreeNode left;

: * TreeNode right;

: * TreeNode(int x) { val = x; }

: * }

: */

: 这就是最基本的定义一个二叉树结点的类。建议停止刷题,先看一本编程入门的
书和简



【在 c********w 的大作中提到】
: A
: / \
: B C
: / \
: D E
: A is root node. distance between node D and node C is 3. something like this
: ?

avatar
c*w
13
您不找码农的工作刷leetcode干啥?那这事啥职位啊? 好比面会计的职位问这种问题
不是驴唇不对马嘴吗。我好晕啊。这贴子是坑吗。刷大家玩呢
avatar
c*w
14
好了,入正题
1。 是的,需要自己定义类
2. 应该是中等难度。
完了
avatar
h*i
15
是这个意思,他当时写前一半我明白是二叉树
然后他写完dist就停下了让我写,我就懵了,我以为他要我把树自己建好。
另外我也困惑,为什么D,C,A是3?

this

【在 c********w 的大作中提到】
: 好了,入正题
: 1。 是的,需要自己定义类
: 2. 应该是中等难度。
: 完了

avatar
h*i
16
申请的是data scientist
背景是统计博士
面试官是计算机博士

【在 c********w 的大作中提到】
: 您不找码农的工作刷leetcode干啥?那这事啥职位啊? 好比面会计的职位问这种问题
: 不是驴唇不对马嘴吗。我好晕啊。这贴子是坑吗。刷大家玩呢

avatar
c*w
17
我理解的是 dist(node1, node2, root). 已知树的root,求node1 和node2的距离。D
和C之间有3个边。估计就是这样。
avatar
c*w
18
你要觉得你面的职位问这种问题超纲了,那就别纠结了。
avatar
h*i
19
那如果node1,node2在同一个分支呢?之间的最短路径不需要走root,这个函数里的
root是什么作用呢?必须经过root哪怕绕道?

D

【在 c********w 的大作中提到】
: 我理解的是 dist(node1, node2, root). 已知树的root,求node1 和node2的距离。D
: 和C之间有3个边。估计就是这样。

avatar
h*i
20
我是受到了很大的打击和怀疑人生
我真以为要求现场把树写出来
而且他问的另一个问题,首先最初的描述就是错的,其次最后问他怎么解决,他说这个
问题的相关paper很多。问题是一个具体问题,还不是我们平时能碰到的,能发出来很
多paper的问题,让我电话里三言两语说办法。我真有点绝望的感觉。

【在 c********w 的大作中提到】
: 你要觉得你面的职位问这种问题超纲了,那就别纠结了。
avatar
n*g
21
撑死easy

【在 q******6 的大作中提到】
: 认真回答楼主问题:
: 1. 不需要,你只需要实现dist()
: 2. 题目感觉是中等难度(方法可参考leetcode 236 或者543),中等难度一般意味着
: 你在一轮面试45分钟内解决完这个问题外还要有能力再解决一个问题
: 建议:
: 二叉树类题目一般只有三类:
: 1、traverse (inorder、preorder、postorder)
: 2、递归和divide and conquer
: 3、level order traverse (bfs)
: 70%的题目都是第二类。

avatar
s*i
22
估计面试官遇到lz这种不按套路出牌的也是很纠结。。。
这题leetcode 400以前算中等 现在算简单吧
avatar
d*1
23
为啥我觉得面试官没啥问题
楼主你面的是互联网公司吧 感觉一副俺是统计phd不需要懂cs的样子 你为什么问我这个
这样的不适合互联网公司 马工都是需要啥就学啥
公司需要个做拉面的 没人会马工也可以现学
看了楼主之前的帖子 楼主要改变的可能是思维方式
用街霸哥的话 客人需要啥姿势就啥姿势
avatar
h*i
24
我不想多争论。
第一,这公司主业不是互联网
第二,我把一亩三分地和glassdoor上的面经都看过一遍。ds面试就算是写程序也就是
搞点排序什么的。如果你非要说我看到的所有的面经都不正常,就是这个是正常的,我
也无话可说。
第三,你觉得没问题?你说他题目是否完整吧。他把node定义都写出来,我可以去尝试
。或者你认为它的题目就是要当场把树建立好然后再写那个函数?
第四,如果你非不能理解区别,那我来问你,中心极限定理你知道吧,分析数据不可能
不扯上关系吧,你会证明吗?这可是最基本的概率统计基础知识了。更基本的,勾股定
理这个版上没人不知道吧,人类几千年前就能证明了,你会证明吗?你可以反驳码工不
需要这个。问题是我面的也不是码工。可能在某些码工看来在这个世界上,不会写二叉
树的都是sb,就像不会小学生算术一样?

这个

【在 d*****1 的大作中提到】
: 为啥我觉得面试官没啥问题
: 楼主你面的是互联网公司吧 感觉一副俺是统计phd不需要懂cs的样子 你为什么问我这个
: 这样的不适合互联网公司 马工都是需要啥就学啥
: 公司需要个做拉面的 没人会马工也可以现学
: 看了楼主之前的帖子 楼主要改变的可能是思维方式
: 用街霸哥的话 客人需要啥姿势就啥姿势

avatar
d*1
25
我的意思是我觉得这个面试官问的也还好 没有奇葩到多么bt的程度
面试最大的目的本来就是交流 否则直接上机做题就好 你主贴里没有更多信息 是你没
进一步和面试官交流清楚呢 还是对方出完题根本不理你 后者的话先去投诉一下 这个
俺支持你
也许楼主调整一下心态会更好 这世界上奇葩多着呢 工作时间长了硬着头皮吃屎的时候
多了 面试本来就是双向选择
btw 我暂时没碰见过面试要证明中心极限定理的 但是如果碰见俺也不会有啥反感 和面
试官互动着尝试一下憋 做不出来就自认倒霉碰见一个奇葩面试官憋 但是俺不会有啥火
气 继续面下一家就好了

【在 h*******i 的大作中提到】
: 我不想多争论。
: 第一,这公司主业不是互联网
: 第二,我把一亩三分地和glassdoor上的面经都看过一遍。ds面试就算是写程序也就是
: 搞点排序什么的。如果你非要说我看到的所有的面经都不正常,就是这个是正常的,我
: 也无话可说。
: 第三,你觉得没问题?你说他题目是否完整吧。他把node定义都写出来,我可以去尝试
: 。或者你认为它的题目就是要当场把树建立好然后再写那个函数?
: 第四,如果你非不能理解区别,那我来问你,中心极限定理你知道吧,分析数据不可能
: 不扯上关系吧,你会证明吗?这可是最基本的概率统计基础知识了。更基本的,勾股定
: 理这个版上没人不知道吧,人类几千年前就能证明了,你会证明吗?你可以反驳码工不

avatar
w*d
26
你这样的心态找data scientist也很难。很多大公司比如Google明说了只招applied
statistician,你会证明大数律,中心极限定理有什么用?又不是招人写paper。公司
平时用的模型大多数是经典模型,不需要啥证明,用的数学也十分简单,因为复杂了根
本没法维护和debug。好的data scientist的关键是懂feature engineering+
interpretation+business sense。这边的data scientist都是至少自己写code搭模型
,engineer没空的时候别说python了,C++也得自己上_(:3」∠)_

【在 h*******i 的大作中提到】
: 我不想多争论。
: 第一,这公司主业不是互联网
: 第二,我把一亩三分地和glassdoor上的面经都看过一遍。ds面试就算是写程序也就是
: 搞点排序什么的。如果你非要说我看到的所有的面经都不正常,就是这个是正常的,我
: 也无话可说。
: 第三,你觉得没问题?你说他题目是否完整吧。他把node定义都写出来,我可以去尝试
: 。或者你认为它的题目就是要当场把树建立好然后再写那个函数?
: 第四,如果你非不能理解区别,那我来问你,中心极限定理你知道吧,分析数据不可能
: 不扯上关系吧,你会证明吗?这可是最基本的概率统计基础知识了。更基本的,勾股定
: 理这个版上没人不知道吧,人类几千年前就能证明了,你会证明吗?你可以反驳码工不

avatar
w*g
27
说了半天,宽度优先搜索能满足要求吗?

:二叉树,计算节点之间的距离
:A (B (D, E), C), dist(D, C, A) = 3
avatar
n*g
28
深度优先,递归

【在 w***g 的大作中提到】
: 说了半天,宽度优先搜索能满足要求吗?
:
: :二叉树,计算节点之间的距离
: :A (B (D, E), C), dist(D, C, A) = 3

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