欢迎光临散文网 会员登陆 & 注册

LeetCode-414-第三大的数

2021-10-05 11:16 作者:雄狮虎豹  | 我要投稿

第三大的数

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

示例说明请见LeetCode官网。

来源:力扣(LeetCode)   

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

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解法一:使用优先队列

首先,初始化一个优先队列PriorityQueue为queue,然后遍历nums中的元素,遍历过程如下:

  • 如果当前元素已经在queue中,则跳过,否则将当前元素添加到queue中;

  • 如果queue的元素数量大于3,则从queue中移除一个元素(溢出的元素为最小的)。

遍历完成后,如果queue只有3个元素,则取出queue中的第一个元素并返回,即为nums中第三大的元素;如果queue没有3个元素,则取出最后一个元素返回即为nums中的最大元素并返回。

【每日寄语】 生命的意义在于燃烧自己的同时能否照亮自己。



LeetCode-414-第三大的数的评论 (共 条)

分享到微博请遵守国家法律