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

你来挑战一下翻转二叉树吧
http://www.nowcoder.com/books/coding-interviews/564f4c26aa584921bc75623e48ca3011
非递归版本的答案如下:
http://www.nowcoder.com/questionTerminal/bcffd7e8a0d4402c99773bed98690bb7
1
huanghuaxin 2015 年 6 月 11 日
我也做不出来…
|
2
yasonyyx 2015 年 6 月 11 日
不要忘了抄送给 Max Howell
|
3
phoenixlzx 2015 年 6 月 11 日 Google 的算法很牛的,例如你在 Google+ 上发 po 文,带有一个 tag 叫做 #Google你个SB
它会自动帮你打上一个 tag 叫做 #Google你个大SB |
4
nowcoder OP @phoenixlzx ......
|
5
magicdawn 2015 年 6 月 11 日
原来翻转就是左右换一下~
|
6
gooffer 2015 年 6 月 11 日
递归很容易实现啊
|
7
leopku 2015 年 6 月 11 日
`on a whiteboard` 这是要手写的节奏啊,不刷题库我也写不粗来
|
8
gengrui 2015 年 6 月 11 日
我当初面Facebook的Android position的时候,code test 是做一个二进制加法器。果然挂了...
|
9
wavingclear 2015 年 6 月 11 日
@magicdawn 刚看到这个新闻就想上下翻么这怎么翻……
|
10
v2gba 2015 年 6 月 11 日
为啥又开了一帖子, 而且还置顶了.
|
11
chenshaoju 2015 年 6 月 11 日
@MrGba2z 这是商业推广……
|
12
v2gba 2015 年 6 月 11 日
@chenshaoju
噢, 学渣自动忽略了最后两段 现在才看到 |
13
Xingbao 2015 年 6 月 11 日
就一悲剧,话说谷歌的面试官不认识他么
|
14
laotaitai 2015 年 6 月 11 日 via Android
brew作者只写了这个有名的工具么?若是,不会翻转二叉树悲剧,也是正常的,面试Google,你所有的成就自动忽略掉,只考你真实技能。
|
15
xuyl 2015 年 6 月 11 日
二叉树也算是基本的数据结构了,但我们做web开发的根本就用不到了。
|
16
patrickwtl 2015 年 6 月 11 日
这个题不难吧
|
17
hooluupog 2015 年 6 月 11 日 显然Homebrew 的作者是去裸面了,事先也没准备。当初python之父不是都面了10轮么。。
|
18
ChiangDi 2015 年 6 月 11 日
为何被置顶了?
|
19
ChiangDi 2015 年 6 月 11 日
懂了原来是牛课网的广告
|
20
KingHL 2015 年 6 月 11 日
搞定
|
21
nbndco 2015 年 6 月 11 日 @laotaitai 反转二叉树是真实技能也是醉了,仿佛有人真正在实际工作中用过一样。mxcl水平如何看看github就知道了,反正我觉得比只会反转二叉树的显然厉害太多。虽然反转二叉树不难,但这门奇怪的“真实技能”基本也就是应届生最精通了。
|
22
shiny PRO 这个广告打得好。大音希声,大象无形,真正的好广告看不出来是一个广告。
|
23
anoymoux 2015 年 6 月 11 日
baidu亮了。。刚打fanzhuan就反转了-_-
|
24
limuxy 2015 年 6 月 11 日 众☜看!这是一个二叉树!
|
28
benjiam 2015 年 6 月 11 日 说明 也许牛人会因此进不了google, 但是绝对不会有水货进去。
|
29
cszjutstar 2015 年 6 月 11 日
我也不会二叉树
|
30
cancan 2015 年 6 月 11 日
好广告。
|
31
rainday 2015 年 6 月 11 日
这题不难啊
|
33
AntiGameZ 2015 年 6 月 11 日
真心好广告
|
34
lilydjwg 2015 年 6 月 11 日
链接在哪里?我要去围观。
|
35
lilydjwg 2015 年 6 月 11 日
另外吐槽一下这个 nowcoder.com 的代码编辑器里代码的字体竟然不等宽!
|
37
sumuye 2015 年 6 月 11 日
哈哈也是倒霉
|
38
20150517 2015 年 6 月 11 日 via Android
这题不难的,其实进fb,google谁不背些题?我去年电面fb,还有题准备过的
|
39
cyshi 2015 年 6 月 11 日
答案正确:恭喜!您提交的程序通过了所有的测试用例
===== 不过个人考察算法题的时候 一般都会让应聘者随意google |
40
Qiangyuan 2015 年 6 月 11 日
图片里这是什么软件?Twitter?没见过,求解
|
41
ostholz 2015 年 6 月 11 日 有一个回: brew install btree-invert
哈哈 |
44
bin456789 2015 年 6 月 11 日
1417收藏,真励志
|
46
eriale 2015 年 6 月 11 日
|
47
fszaer 2015 年 6 月 11 日
@phoenixlzx 呵呵呵呵
|
48
nbndco 2015 年 6 月 11 日 顺带贴个解答吧,我觉得只有这个答案是理解了什么是数据结构的,问出这个问题的人感觉没有理解什么是数据结构。
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. |
49
21grams 2015 年 6 月 11 日
哈哈,楼上的这个太牛了。
|
51
xhjsxw 2015 年 6 月 11 日
刷一遍newcoder就会了
|
52
201314 2015 年 6 月 11 日 via Android
要想会这个题,去牛客刷题哦!!
|
54
cdwind PRO 这写不出来太不应该了吧,写个递归半分钟的事情。。。
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 PRO @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); } } }; |
57
initialdp 2015 年 6 月 11 日
把Homebrew卖给google,然后雇佣那个家伙让他天天在白板上反转。
|
59
lsgbhp 2015 年 6 月 11 日 没人说Max Howell面的是iOS的职位么
|
60
fulvaz 2015 年 6 月 11 日 会不会根本不是关键问题
只是因为筛选简单 比如说,好多企业要求985毕业学生,然而他的岗位其实普通大专生就可以了,那为什么还要设置985要求? 设门槛嘛,985有垃圾,大专也有大师,但是很明显985里面更找到靠谱的人几率更大,节约筛选时间. 同理,现在很多公司都有一个恶习就是考算法,都是在设置门槛,很明显,会算法的人里面找到靠谱的几率也很大,看清楚,--> 是几率大 <-----,还是有坑 |
64
20150517 2015 年 6 月 11 日 via Android
@jadetang 他们linkedin上找到我的,说第一轮电面,就是他们美国电话过来,你通着电话 ,然后在一个网站上让你写程序,他们同时能看到
|
65
refresh 2015 年 6 月 11 日 一姑娘想找一个有钱人做来老公(企业找优秀的程序员),设置了很多科学的筛选方法(某些算法或学历等)来筛选出有钱人。有一天,来了一个亿万富翁,虽然他拿出来了存款(已有成就,而且很优秀),但他很遗憾没通过姑娘的测试。
姑娘说,通过我这套测试的,是百万富翁的机率肯定要大一些,没通过的,肯定是穷屌丝。 结论:思维定势和官僚主义是要命的。 |
66
ant_sz 2015 年 6 月 11 日
感觉只有像这种牛人面到的算法题才会这么简单。。。。即使没专门训练过应该也可以做的出来吧。。。
普通没有其他资历的人遇到的题比这难多了。。。。 |
67
spencerqiu 2015 年 6 月 11 日
|
68
ceclinux 2015 年 6 月 11 日
这个是故意的把……
|
70
lilydjwg 2015 年 6 月 11 日 @20150517 我讨厌背题,浪费时间浪费生命。CloudFlare 也讨厌背题的: https://blog.cloudflare.com/cloudflare-interview-questions/
|
72
sdysj 2015 年 6 月 11 日
homebrew 这种项目都是社区支持上来的,技术含量也不高,居然还能说是他自己写的,人品问题。
|
77
breeswish 2015 年 6 月 12 日 谷歌偏爱算法方面厉害的,对于工程方面科技树茂盛的不是很感冒
|
78
breeswish 2015 年 6 月 12 日
话说原作者 twitter 上说 “to min-max the tree, ascending to descending.”,说的是颠倒一个堆而不是交换左右 ?
|
79
TimLang 2015 年 6 月 12 日
递归很容易解,迭代的话要用栈,递归解法参考: http://yuntui.org/2015/06/Invert_binary-tree/
|
80
txl263 2015 年 6 月 12 日
原来是牛课网的广告
|
81
pinxue 2015 年 6 月 12 日 这哥们诚心的吧,没道理写不出来的。我自己以前进上海贝尔时纸上用 C 写过对分查找,进思科时白板上用 Java 写过大数加法,其实心态放平也没啥的。
另外,Google 的招聘流程就是这样子,先要过算法和 HR,然后才会到用人部门。这个对于公司还是有好处的,网红程序员就不容易混进去,国内不少公司扩张期招聘都会引进一堆眼高手低的,就是面试流程太宽松了。 |
82
windyboy 2015 年 6 月 12 日
如果怀疑homebrew的作者算法不合格,我想意义就不大的
面试我想只是一个基本的功夫 对于有能力的程序员,算法可以在实际工作中再去搞 当然感觉这哥们也是自视比较高 进不去双方都是损失 |
85
konakona 2015 年 6 月 12 日
然后作者狠心将Google IP群组Ban了...永生不得brew..
|
87
nikoukou 2015 年 6 月 13 日
Just turn the whiteboard upside-down.23333333
|
88
SmiteChow 2015 年 6 月 16 日
囧,生产和科研的差别
|
89
LINAICAI 2021 年 12 月 9 日
可能他不是科班出身?哈哈哈
|