题目链接
英文链接:https://leetcode.com/problems/third-maximum-number/
中文链接:https://leetcode-cn.com/problems/third-maximum-number/
题目详述
给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。
示例 1:
1 | 输入: [3, 2, 1] |
示例 2:
1 | 输入: [1, 2] |
示例 3:
1 | 输入: [2, 2, 3, 1] |
题目详解
- 运用三个变量来表示第一大、第二大、第三大的值。
- 遍历数组,运用当前元素进行更新。
- 注意为了正确更新,需要用
long
类型,避免与int
的数据范围产生冲突。
1 | public class LeetCode_00414 { |