Python3 小顶堆heapq
heapq只有小顶堆,大顶需要自己取相反数操作...
leetcode414
from heapq import * class Solution: def thirdMax(self, nums: List[int]) -> int: if len(nums)==1: return nums[0] elif len(nums)==2: return max(nums[0],nums[1]) else: hp=[nums[0],nums[1],nums[2]] heapify(hp) #把一个list转成有堆结构的list,它还是个list i=3 ll=len(nums) while i<ll: heappush(hp,nums[i]) heappop(hp) i+=1 return heappop(hp)

浙公网安备 33010602011771号