如何在大量数据中找出第2大的数字?...这个问题与TopN很类似,但也有不同
例如:
数组nums={42, 41, 31, 7, 17, 2, 42}
在top2时,结果是{42,42}
在当前问题中,结果是41
不同之处就在于对相同数字的判断...了解topN解决方式的一定知道这种情况二叉查找树是一个最优选择;
针对相同数字的问题,最合适的去重数据结构就Set.
最终符合这两种条件的数据结构就是TreeSet....是继承SortedMap的,这就说明它是有序的....super K> comparator) {
this.comparator = comparator;
}
通过观察put方法,可以通过比较器,自定义规则,放新插入的值放入合适的位置
fixAfterInsertion