zoukankan      html  css  js  c++  java
  • 414. 第三大的数

    给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。

    示例 1:

    输入: [3, 2, 1]

    输出: 1

    解释: 第三大的数是 1.

    示例 2:

    输入: [1, 2]

    输出: 2

    解释: 第三大的数不存在, 所以返回最大的数 2 .

    示例 3:

    输入: [2, 2, 3, 1]

    输出: 1

    解释: 注意,要求返回第三大的数,是指第三大且唯一出现的数。

    存在两个值为2的数,它们都排第二。

     1/**
    2 * @param {number[]} nums
    3 * @return {number}
    4 */

    5
    6var thirdMax = function (nums{
    7    nums = nums.sort((a, b) => a - b)
    8
    9    if (nums.length < 3return nums[nums.length - 1]
    10    else {
    11        nums = removeDuplicates(nums)
    12        if (nums.length < 3return nums[nums.length - 1]
    13        else {
    14            return nums[nums.length - 3]
    15        }
    16    }
    17}
    18
    19var removeDuplicates = function (nums{
    20    return Array.from(new Set(nums))
    21}
  • 相关阅读:
    验证码图片不刷新解决方法
    表单验证
    Thinkphp显示系统常量信息的方法(php的用法)
    原生sql语句执行
    Python中的模块(2)
    Python 正则表达式中级
    正则表达式 和 原生字符串 r
    collections模块
    时间模块
    random模块
  • 原文地址:https://www.cnblogs.com/rencoo/p/9777686.html
Copyright © 2011-2022 走看看