Leetcode 数组:414 第三大的数 third-maximum-number
给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。
class Solution: def thirdMax(self, nums: List[int]) -> int: nums = list(set(nums)) MAX = float('-inf') SECEND_MAX = float('-inf') THIRD_MAX = float('-inf') for i in range(0,len(nums)): if MAX < nums[i] : THIRD_MAX = SECEND_MAX SECEND_MAX = MAX MAX = nums[i] elif nums[i]>SECEND_MAX : THIRD_MAX = SECEND_MAX SECEND_MAX = nums[i] elif nums[i]>THIRD_MAX: nums[i] = THIRD_MAX if THIRD_MAX != float('-inf'): return THIRD_MAX return MAX