效能分析 爆打团队 题目去重功能代码优化
测试的题目记录为随机生成
10000题目记录,去掉重复后剩余8569.
O(n^2)算法 1s O(n*log(n))算法 0.1s
100000题目记录,去掉重复后剩余30565.
O(n^2)算法 30.8s O(n*log(n))算法 0.59s
200000题目记录,去掉重复后剩余31940.
O(n^2)算法 69s O(n*log(n))算法 1s
实验证明,算法复杂度有明显优化效果。差距没有十分明显的原因在于重复的太多了,那么进入different数组的就少,第二维的枚举时间短,因此我邪恶的把筛过后不重复的作为输入。
31940不重复
O(n^2)算法 11s O(n*log(n))算法 0.3s
个人观点,当数据量足够大时,优化是有明显效果的,有必要的。