解题思路:
这道题和编程之美上2.5 很相似。方法可以采用最小堆的方法。时间复杂度:O(NlogN )
首先取10个人的积分进行排序。采用最小堆的方法,根节点存放的是第10个积分最高的用户。以后每来一个用户,都要与根节点比较,如果小于根节点,则继续读取下一个用户的积分。否则,当前用户与根节点交换,并重新进行一次堆排序。将最小的积分的用户放在根节点上。这样一直比较下去即可找到积分最高的10个用户。
解题思路:
这道题和编程之美上2.5 很相似。方法可以采用最小堆的方法。时间复杂度:O(NlogN )
首先取10个人的积分进行排序。采用最小堆的方法,根节点存放的是第10个积分最高的用户。以后每来一个用户,都要与根节点比较,如果小于根节点,则继续读取下一个用户的积分。否则,当前用户与根节点交换,并重新进行一次堆排序。将最小的积分的用户放在根节点上。这样一直比较下去即可找到积分最高的10个用户。