第三大的数
给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。
示例 1:
输入:[3, 2, 1]
输出:1
解释:第三大的数是 1 。
1
2
3
2
3
示例 2:
输入:[1, 2]
输出:2
解释:第三大的数不存在, 所以返回最大的数 2 。
1
2
3
2
3
var thirdMax = function(nums) {
nums.sort((a, b) => a - b);
nums.reverse();
for (let i = 1, diff = 1; i < nums.length; ++i) {
if (nums[i] !== nums[i - 1] && ++diff === 3) { // 此时 nums[i] 就是第三大的数
return nums[i];
}
}
return nums[0];
};
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/third-maximum-number