414. Third Maximum Number
要求时间复杂度O(n),只能遍历一次。
遍历的同时维护top3最大值即可,因为有重复数字,所以用list会很麻烦,直接利用set维护。
class Solution:
def __init__(self):
self.max_ = set()
def thirdMax(self, nums: List[int]) -> int:
for n in nums:
self.max_.add(n)
if len(self.max_)>3:
self.max_.remove(min(self.max_))
return min(self.max_) if len(self.max_) == 3 else max(self.max_)
Last updated
Was this helpful?