Top k Largest Numbers
Description:
Given an integer array, find the top k largest numbers in it.
Example
Given [3,10,1000,-99,4,100] and k = 3.
Return [1000, 100, 10].
Code:
class Solution:
"""
@param nums: an integer array
@param k: An integer
@return: the top k largest numbers in array
"""
def topk(self, nums, k):
# write your code here
if not nums or k==0:
return []
res = []
heap = Queue.PriorityQueue()
for i in nums:
heap.put(-i)
for i in range(k):
res.append(-heap.get())
return res