Bloomberg 5.3 onsite

第一次发帖回馈地里,昨天的nyc bloomberg onsite,今天收到hr电话offer

第一轮:第一题:两个linkedlist分别代表两个数字,做相加,据说是经典题,但我做的时候有点卡住。 第二题:LC: partition to k equal sum。backtrack做。每题都有分析复杂度,问了project还有why bb

第二轮:第一题:给一个dictionary里面放着很多word,再给一个char array里面放着可以用的letter,每个letter只能用一次,但是这个array中会有重复letter。问这些letter能组成的在dictionary里面的最长单词是什么。
我用trie做的,不知道是不是我想复杂了,代码量不小。第二题:LC copy list with random pointer,用hashmap做

第三轮hr问了一些找工作三个最看重的,问了一些bq

第四轮一个很热情的manager问project,非常详细,到算法原理也讲了。然后展示terminal

请问楼主收到的onsite通知里写的是有4轮面试还是2轮面试?

通知里确实是两轮~大家应该都收到的是两轮

楼主能讲下trie那个题的具体解法吗?
我只想到递归暴力解

同问和trie有什么关系呢?是为了多次查询么?要我做的话可能也是分析一下array的字母组成 (hashMap). 然后word从长到短比较。。。

trie其实就是preprocess一下。。每次看当前有没有这个node来决定是否要append这个字母来做递归 如果字典里的词特别特别多的话 其实也是暴力解法。。时间是N! 当时也跟面试官讨论了下这个worst case 我觉得应该还有其他方法,当时面试时候我第一想法是trie~

补充内容 (2018-5-7 08:13):
忘记说明了 N是array长度

见我上面的回复~这个函数是可能call multiple times的 我就在构造函数里把trie建好了这样。。你这个方法如果word很多但是array比较短的话 可能会多费一些时间?因为我那个方法最差的话应该是N!,N是char array长度。。我觉得应该有更好的方法 我也很质疑用trie效率是不是不高

恭喜楼主! 请问bb的店面大概什么流程? bq会问的很多吗?

感觉不用按长度排序,把字典里的word的字母组成(hashmap)逐个拿来和char array的字母组成(hashmap)比较,循环时保留最长的那个word。时间是O(nk),k是word的最大长度。

我电面是个白人 上来让我自我介绍了一下问我最想从事的领域是什么 其他就是做题啦