LeetCode #414. Third Maximum Number

题目

414. Third Maximum Number


解题方法

先用集合去重numset=set(nums),用完了时间复杂度O(n)(set(n)方法在构造时的时间复杂度是O(length(n))),再记录下其中的最大值tempmax,然后弹出两个最大值,注意弹之前检查是否已经是空集合,如果空了就返回tempmax,否则弹完之后返回剩下来的最大值即可。


代码

class Solution:
    def thirdMax(self, nums: List[int]) -> int:
        numset = set(nums)
        tempmax = max(numset)
        numset.discard(max(numset))
        
        if len(numset):
            numset.discard(max(numset))
        else:
            return tempmax
        if len(numset):
            return max(numset)
        else:
            return tempmax
posted @ 2020-11-02 16:41  老鼠司令  阅读(50)  评论(0)    收藏  举报