华为软件精英挑战赛2020最优美代码奖 决赛代码里有硬编码了一些信息来加速,这里开源的是28号的一次提交。 模仿gnu里的pbds使用了一些policy based的编程技巧,巧妙的使用了cpp中的模板和继承,对代码进行了一定程度的抽象。对于测试数据一和测试数据二,代码可以选择不同的数据结构来优化。 在看过其他同学开源的代码后,发现我们的实现不一定是最优美的。希望各位同学轻锤。 反思总结 毫无疑问抽象是会降低程序性能的。我们自己封装的Vector类性能上比std::vector要优秀很多,但是略微劣于原生的数组。在使用了相同优化算法的情况下肯定是原生的数组更快。 cpp中的有“抽象零惩罚”这么一说。但是需要开动脑筋来进行设计。这也是导致我们后期乏力的一个原因。