如题问。有一个 dict,key=名字,value=成绩,取前五,如何在不使用 sort()的情况下:
取整所有数据的成绩的前五
先按成绩高到低排列
再按名字首字母排序
附加条件:不能用 sort()
取整所有数据的成绩的前五
先按成绩高到低排列
再按名字首字母排序
附加条件:不能用 sort()
|
1
public PriorityQueue(int initialCapacity, Comparator<? super E> comparator){}
这个? |
|
jmc891205Feb 21, 2020 via iPhone
2
遍历一遍不就把前五找出来了?
|
|
3
我觉得不让用某种抽象方法的题目都是 sb 题。
可以考虑用字典树来完成,本质也是排序的具体实现。 |
|
EricccccccccFeb 21, 2020
4
遍历
|
|
5
不能用 sort 这个条件相当奇怪, 那去往上找个快排的代码自己实现一个可以吗?
干这个事情本质不还是排序? (比大小本身不就是一种排序行为吗) |
|
6
|
|
lhx2008Feb 21, 2020 via Android
7
PRIOTYQUEUE 就行,comparator 写一下
|
|
ym1ngFeb 21, 2020
8
应该是 top k 问题的变形?不让排序的话 一般就是用堆来实现了吧(逃
|