Zenefits Data Engineer OA

原帖地址:一亩三分地

刚做完Zenefits OA。题目是找打牌的时候的炸弹:),瞬间想到斗地主~~~

实际就是找array里面more than 3 consecutive pairs, if exist return true, otherwise return false.

最开始想用hashmap统计次数,然后再把次数大于2的value提取出来,最后再在这些value里面判断是否存在pair。不过这个想起来就好复杂的样子 :(
最后我还是按照统计次数的思路,只不过收到leetcode里面remove duplicates的启发:把array里面value count>2的value删的只剩下两个。
比如:[1,1,1,2,2,2,2,3,3,4] —–> [1,1,2,2,3,3,4]
再对删除完以后的array进行pair检查,检查三个连续的pair很简单,这里就不陈述了。

这里面有个问题就是,按照我的方法删除之后,array里面仍然会存在count=1的value,但是这个并不影响你判断三个连续pairs。

希望能得到Onsite,哈哈哈哈!

Good luck everyone!