1、前K个最大
用小根堆,类比为一个擂台,每次挑战者都要和最菜的一个打比赛,获胜者留在擂台上,最终剩下的就是最厉害的K个人。<= 堆顶时,说明已经有K个人比挑战者更强,这个挑战者肯定是k名以外的。
2、前K个最小
用大根堆,同样是打擂台,只不过只有输的人才能留在擂台上,每次排出擂台上k个人中最强的那个比,如果输了,赢的人下场。
用小根堆,类比为一个擂台,每次挑战者都要和最菜的一个打比赛,获胜者留在擂台上,最终剩下的就是最厉害的K个人。<= 堆顶时,说明已经有K个人比挑战者更强,这个挑战者肯定是k名以外的。
用大根堆,同样是打擂台,只不过只有输的人才能留在擂台上,每次排出擂台上k个人中最强的那个比,如果输了,赢的人下场。