1. 增强代码可读性；
2. 增加测试用例。
加速算法，减少group index的重复计算。
空间换时间，缓存group index，在dic间共享。
ReverseWords
Google Code Jam Watersheds和WelcometoCodeJam的架子。