JavaScript查找数组中的第三个最大数字
我们需要编写一个包含数字数组的JavaScript函数。该函数应从数组中选择并返回第三高的数字。
函数的时间复杂度不得超过O(n),我们必须在单次迭代中找到数字。
示例
const arr = [1, 5, 23, 3, 676, 4, 35, 4, 2];
const findThirdMax = (arr) => {
let [first, second, third] = [-Infinity, -Infinity, -Infinity];
for (let el of arr) {
if (el === first || el === second || el === third) {
continue; };
if (el > first) {
[first, second, third] = [el, first, second]; continue; };
if (el > second) {
[second, third] = [el, second]; continue;
};
if (el > third) {
third = el; continue;
};
};
return third !== -Infinity ? third : first;
};
console.log(findThirdMax(arr));输出结果
控制台中的输出将是-
23
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短