美文网首页算法,写代码
【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