剛做了兩道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/