Homebrew 的作者被 Google 拒啦,因为他不会翻转二叉树,然后作者在twitter上开骂啦,然后很多公司开始抢人了。

你来挑战一下翻转二叉树吧
http://www.nowcoder.com/books/coding-interviews/564f4c26aa584921bc75623e48ca3011
非递归版本的答案如下:
http://www.nowcoder.com/questionTerminal/bcffd7e8a0d4402c99773bed98690bb7
Homebrew 的作者被 Google 拒啦,因为他不会翻转二叉树,然后作者在twitter上开骂啦,然后很多公司开始抢人了。

你来挑战一下翻转二叉树吧
http://www.nowcoder.com/books/coding-interviews/564f4c26aa584921bc75623e48ca3011
非递归版本的答案如下:
http://www.nowcoder.com/questionTerminal/bcffd7e8a0d4402c99773bed98690bb7
|
huanghuaxinJun 11, 2015
1
我也做不出来…
|
|
yasonyyxJun 11, 2015
2
不要忘了抄送给 Max Howell
|
|
3
Google 的算法很牛的,例如你在 Google+ 上发 po 文,带有一个 tag 叫做 #Google你个SB
它会自动帮你打上一个 tag 叫做 #Google你个大SB |
|
4
@phoenixlzx ......
|
|
magicdawnJun 11, 2015
5
原来翻转就是左右换一下~
|
|
goofferJun 11, 2015
6
递归很容易实现啊
|
|
leopkuJun 11, 2015
7
`on a whiteboard` 这是要手写的节奏啊,不刷题库我也写不粗来
|
|
gengruiJun 11, 2015
8
我当初面Facebook的Android position的时候,code test 是做一个二进制加法器。果然挂了...
|
|
wavingclearJun 11, 2015
9
@magicdawn 刚看到这个新闻就想上下翻么这怎么翻……
|
|
v2gbaJun 11, 2015
10
为啥又开了一帖子, 而且还置顶了.
|
|
chenshaojuJun 11, 2015
11
@MrGba2z 这是商业推广……
|
|
v2gbaJun 11, 2015
12
@chenshaoju
噢, 学渣自动忽略了最后两段 现在才看到 |
|
XingbaoJun 11, 2015
13
就一悲剧,话说谷歌的面试官不认识他么
|
|
laotaitaiJun 11, 2015 via Android
14
brew作者只写了这个有名的工具么?若是,不会翻转二叉树悲剧,也是正常的,面试Google,你所有的成就自动忽略掉,只考你真实技能。
|
|
xuylJun 11, 2015
15
二叉树也算是基本的数据结构了,但我们做web开发的根本就用不到了。
|
|
patrickwtlJun 11, 2015
16
这个题不难吧
|
|
17
显然Homebrew 的作者是去裸面了,事先也没准备。当初python之父不是都面了10轮么。。
|
|
ChiangDiJun 11, 2015
18
为何被置顶了?
|
|
ChiangDiJun 11, 2015
19
懂了原来是牛课网的广告
|
|
KingHLJun 11, 2015
20
搞定
|
|
21
@laotaitai 反转二叉树是真实技能也是醉了,仿佛有人真正在实际工作中用过一样。mxcl水平如何看看github就知道了,反正我觉得比只会反转二叉树的显然厉害太多。虽然反转二叉树不难,但这门奇怪的“真实技能”基本也就是应届生最精通了。
|
|
22
这个广告打得好。大音希声,大象无形,真正的好广告看不出来是一个广告。
|
|
anoymouxJun 11, 2015
23
baidu亮了。。刚打fanzhuan就反转了-_-
|
|
24
众☜看!这是一个二叉树!
|
|
28
说明 也许牛人会因此进不了google, 但是绝对不会有水货进去。
|
|
cszjutstarJun 11, 2015
29
我也不会二叉树
|
|
cancanJun 11, 2015
30
好广告。
|
|
raindayJun 11, 2015
31
这题不难啊
|
|
AntiGameZJun 11, 2015
33
真心好广告
|
|
lilydjwgJun 11, 2015
34
链接在哪里?我要去围观。
|
|
lilydjwgJun 11, 2015
35
另外吐槽一下这个 nowcoder.com 的代码编辑器里代码的字体竟然不等宽!
|
|
sumuyeJun 11, 2015
37
哈哈也是倒霉
|
|
20150517Jun 11, 2015 via Android
38
这题不难的,其实进fb,google谁不背些题?我去年电面fb,还有题准备过的
|
|
cyshiJun 11, 2015
39
答案正确:恭喜!您提交的程序通过了所有的测试用例
===== 不过个人考察算法题的时候 一般都会让应聘者随意google |
|
QiangyuanJun 11, 2015
40
图片里这是什么软件?Twitter?没见过,求解
|
|
41
有一个回: brew install btree-invert
哈哈 |
|
bin456789Jun 11, 2015
44
1417收藏,真励志
|
|
erialeJun 11, 2015
46
|
|
fszaerJun 11, 2015
47
@phoenixlzx 呵呵呵呵
|
|
48
顺带贴个解答吧,我觉得只有这个答案是理解了什么是数据结构的,问出这个问题的人感觉没有理解什么是数据结构。
https://news.ycombinator.com/item?id=9697008 It can't be just mirroring, because there's the obvious zero-op solution because "left" and "right" don't actually mean anything except when you're visualizing it for humans: struct NormalNode { int value; struct NormalNode *left; struct NormalNode *right; }; struct ReversedNode { int value; struct ReversedNode *right; struct ReversedNode *left; }; struct ReversedNode *reverseTree(struct NormalNode *root) { return (struct ReversedNode *)root; } There. Now left is right and right is left. |
|
21gramsJun 11, 2015
49
哈哈,楼上的这个太牛了。
|
|
xhjsxwJun 11, 2015
51
刷一遍newcoder就会了
|
|
201314Jun 11, 2015 via Android
52
要想会这个题,去牛客刷题哦!!
|
|
54
这写不出来太不应该了吧,写个递归半分钟的事情。。。
class Solution { public: void Mirror(TreeNode *pRoot) { if (!pRoot) return; TreeNode *tmp = pRoot->right; pRoot->right = pRoot->left; pRoot->left = tmp; Mirror(pRoot->right); Mirror(pRoot->left); } }; 答案正确:恭喜!您提交的程序通过了所有的测试用例 |
|
56
@cdwind
用堆栈模拟下递归.. class Solution { private: stack<TreeNode*> mStack; public: void Mirror(TreeNode *pRoot) { mStack.push(pRoot); while (!mStack.empty()){ TreeNode *rpRoot = mStack.top(); mStack.pop(); if (!rpRoot) continue; TreeNode *tmp = rpRoot->right; rpRoot->right = rpRoot->left; rpRoot->left = tmp; mStack.push(rpRoot->right); mStack.push(rpRoot->left); } } }; |
|
initialdpJun 11, 2015
57
把Homebrew卖给google,然后雇佣那个家伙让他天天在白板上反转。
|
|
59
没人说Max Howell面的是iOS的职位么
|
|
60
会不会根本不是关键问题
只是因为筛选简单 比如说,好多企业要求985毕业学生,然而他的岗位其实普通大专生就可以了,那为什么还要设置985要求? 设门槛嘛,985有垃圾,大专也有大师,但是很明显985里面更找到靠谱的人几率更大,节约筛选时间. 同理,现在很多公司都有一个恶习就是考算法,都是在设置门槛,很明显,会算法的人里面找到靠谱的几率也很大,看清楚,--> 是几率大 <-----,还是有坑 |
|
20150517Jun 11, 2015 via Android
64
@jadetang 他们linkedin上找到我的,说第一轮电面,就是他们美国电话过来,你通着电话 ,然后在一个网站上让你写程序,他们同时能看到
|
|
65
一姑娘想找一个有钱人做来老公(企业找优秀的程序员),设置了很多科学的筛选方法(某些算法或学历等)来筛选出有钱人。有一天,来了一个亿万富翁,虽然他拿出来了存款(已有成就,而且很优秀),但他很遗憾没通过姑娘的测试。
姑娘说,通过我这套测试的,是百万富翁的机率肯定要大一些,没通过的,肯定是穷屌丝。 结论:思维定势和官僚主义是要命的。 |
|
ant_szJun 11, 2015
66
感觉只有像这种牛人面到的算法题才会这么简单。。。。即使没专门训练过应该也可以做的出来吧。。。
普通没有其他资历的人遇到的题比这难多了。。。。 |
|
spencerqiuJun 11, 2015
67
|
|
ceclinuxJun 11, 2015
68
这个是故意的把……
|
|
70
@20150517 我讨厌背题,浪费时间浪费生命。CloudFlare 也讨厌背题的: https://blog.cloudflare.com/cloudflare-interview-questions/
|
|
sdysjJun 11, 2015
72
homebrew 这种项目都是社区支持上来的,技术含量也不高,居然还能说是他自己写的,人品问题。
|
|
aluckyfishJun 12, 2015
74
@gengrui 我最喜欢的问题 = = 加法完了之后做乘法 再有空做除法
|
|
77
谷歌偏爱算法方面厉害的,对于工程方面科技树茂盛的不是很感冒
|
|
breeswishJun 12, 2015
78
话说原作者 twitter 上说 “to min-max the tree, ascending to descending.”,说的是颠倒一个堆而不是交换左右 ?
|
|
TimLangJun 12, 2015
79
递归很容易解,迭代的话要用栈,递归解法参考: http://yuntui.org/2015/06/Invert_binary-tree/
|
|
txl263Jun 12, 2015
80
原来是牛课网的广告
|
|
81
这哥们诚心的吧,没道理写不出来的。我自己以前进上海贝尔时纸上用 C 写过对分查找,进思科时白板上用 Java 写过大数加法,其实心态放平也没啥的。
另外,Google 的招聘流程就是这样子,先要过算法和 HR,然后才会到用人部门。这个对于公司还是有好处的,网红程序员就不容易混进去,国内不少公司扩张期招聘都会引进一堆眼高手低的,就是面试流程太宽松了。 |
|
windyboyJun 12, 2015
82
如果怀疑homebrew的作者算法不合格,我想意义就不大的
面试我想只是一个基本的功夫 对于有能力的程序员,算法可以在实际工作中再去搞 当然感觉这哥们也是自视比较高 进不去双方都是损失 |
|
konakonaJun 12, 2015
85
然后作者狠心将Google IP群组Ban了...永生不得brew..
|
|
nikoukouJun 13, 2015
87
Just turn the whiteboard upside-down.23333333
|
|
SmiteChowJun 16, 2015
88
囧,生产和科研的差别
|
|
LINAICAIDec 9, 2021
89
可能他不是科班出身?哈哈哈
|