1. 最大堆,某些语言需要double来避免精度误差(float会有误差),O(nlogn) 2. 哈希表分组+组合计数,O(n) 3. 分组+前缀和,O(n)