算法,从承认自己是一个菜鸟开始!
我们继续遨游在算法的海洋里~
上题~~
前言
我们经常遇到的问题是寻找数组内的最大值或者是最小值,那你有尝试过寻找数组中第K大的数吗?今天我们就来寻找下数组中的第三大的数。
LeetCode 414. 第三大的数
题目介绍:
给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。
示例介绍:
输入: [1, 2]
输出: 2
解释: 第三大的数不存在, 所以返回最大的数 2 。
输入: [2, 2, 3, 1]
输出: 1
返回的是不同数字中的第三大数
解题分析:
我们可以尝试维护一个数组,存储前三个最大的值。每当一个新值来临时,将该值与数组中的三个最大值依次比较,如果比其中某一个值大,则进行插入操作,直接将最后一个元素移除,最终返回数组的最后一个元素即可。