每日leetcode-数组-414 第三大的数

分类:数组-数组的遍历

题目描述:给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。

思路:先进行排序。

class Solution:
    def thirdMax(self, nums: List[int]) -> int:
        set_nums=list(set(nums))  #set方法是对元素进行去重,处理之后是一个字典形式,使用list是将其转化为列表
        set_nums.sort() #对处理后的数据进行排序
        return set_nums[-1] if len(set_nums)<3 else set_nums[-3]

list(set(a))  :set方法是对元素进行去重,处理之后是一个字典形式,使用list是将其转化为列表

python list sort 方法:

sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

list.sort(cmp=None, key=None, reverse=False)
  • cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
  • 该方法没有返回值,但是会对列表的对象进行排序。
上一篇:使用python做科学计算


下一篇:Leetcode 414. 第三大的数 腾讯校招面试题(一次遍历,最大值,次大值,此次大值必须同时更新)