美文网首页算法,写代码
【easy】Leetcode 414.Third Maximum

【easy】Leetcode 414.Third Maximum

作者: 小双2510 | 来源:发表于2017-10-31 11:38 被阅读0次

    原题是:

    Given a non-empty array of integers, return the third maximum number in this array. If it does not exist, return the maximum number. The time complexity must be in O(n).

    Example 1:
    Input: [3, 2, 1]

    Output: 1

    Explanation: The third maximum is 1.
    Example 2:
    Input: [1, 2]

    Output: 2

    Explanation: The third maximum does not exist, so the maximum (2) is returned instead.
    Example 3:
    Input: [2, 2, 3, 1]

    Output: 1

    Explanation: Note that the third maximum here means the third maximum distinct number.
    Both numbers with value 2 are both considered as second maximum.

    思路是:

    利用set,list转换去除list里的重复元素。
    然后用List的排序。

    代码是:

    
    class Solution:
        def thirdMax(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            
            nums = list(set(nums))
            nums.sort()
            if len(nums) >2:
                return nums[-3]
            else :
                return nums[-1]
    

    相关文章

      网友评论

        本文标题:【easy】Leetcode 414.Third Maximum

        本文链接:https://www.haomeiwen.com/subject/nwxbpxtx.html