算法,写代码

【easy】Leetcode 414.Third Maximum

2017-10-31  本文已影响0人  小双2510

原题是:

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]
上一篇下一篇

猜你喜欢

热点阅读