LeetCode 414. Third Maximum Numb

2018-09-02  本文已影响0人  singed

链接

https://leetcode-cn.com/problems/third-maximum-number/description/

要求

给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。

输入: [3, 2, 1]
输出: 1

输入: [1, 2]
输出: 2

输入: [2, 2, 3, 1]
输出: 1

思路

如果set后长度<3,则返回最后一个数
如果set后长度>=3,则返回倒数第三个数

代码

执行用时:28 ms

class Solution(object):
    def thirdMax(self, nums):
        if len(set(nums)) < 3:
            return sorted(list(set(nums)))[-1]
        else:
            return sorted(list(set(nums)))[-3]
image.png
上一篇 下一篇

猜你喜欢

热点阅读