Bllomberg On Campus面经

只问了两道题也许因为第二题回答得太慢了,但其中一个面试官小姐姐真的人很好,以后可能再也遇不到这么耐心这么nice这么friendly的面试官了T^T。
第一题Binary Search Tree求第1,2,3,k大的的node,因为对BST熟悉算是解出来了。

第二题是给一个two dimensional array模拟一个墙砖,怎么cut每个row使得破坏的brick的数量最少,return最少的被破坏砖块的数量。但因为想复杂了,同时太紧张了花了太多时间,也不知道除了linear的解答是否有更好的方法。

可能对大家都是很熟悉的题目了, 不过需要具体题的话可以问我。

第二题 可以给具体点吗? linear是什么思路啊?

设置一个dictionary,key是目前每个row前1,2,…k个砖块长度加起来的值,value是这个值出现的次数,因为如果后面的row也出现了这个值,说明在这个值的位置切下去就不会破坏这两个row的砖块。换句话说,这题就是要找出现次数最多的那个值,出现的次数越多说明不会被破坏的row的个数越多,所以破坏的砖块的个数就最少。
因为这个方法要遍历整个二维数组,数组多大时间就多长,所以就linear了。

也算比brute force好吧。哎。

第二题蠡口舞邬斯

你们是如何刷蠡口刷到六百多题的。。。。。

LZ第一题是怎么做的啊 是类似inorder的方法吗 但是采用倒序从最大的开始iterate?