刚做了两道Two Sigma OA。
还是两道老题, Friend Cycle和Longest Chain。
Friend Cycle可以用Union Find来做。优化的时候因为矩阵是沿对角线对称,所以可以只扫描一半的元素,也可以加上Path Compresssion和 weight。
Longest Chain是参考reference里大神的解法。使用set保存,代码写得很简练,非常棒。
我自己想做的时候也是用一个set,保存所有函数。 然后用一个Map<String,Map<String,List<String>>>来存每个word。 最后还要遍历一遍map来找到最长的一个List。不过没有实现完全。
不管怎样先做了OA再说, 打算约面试晚一点,多准备准备OO Design和系统设计。
Reference:
http://yuancrackcode.com/2015/10/25/friend-circles/ <- Friend Cycle
http://yuancrackcode.com/2015/10/25/longest-chain/ <- Longest Chain
http://yuancrackcode.com/2015/10/27/two-sigma%E9%9D%A2%E7%BB%8F/