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}
  • 相关阅读:
    细说Cookie(转)
    Custom Exception in ASP.NET Web API 2 with Custom HttpResponse Message
    内核中的定时器
    ibus拼音安装_ubuntu10.04
    linux模块
    zebra/quagga线程分析
    vim常用配置
    rar安装和使用
    zebra/quagga
    netsnmp编译动态库
  • 原文地址:https://www.cnblogs.com/rencoo/p/9777686.html
Copyright © 2011-2022 走看看