getSecondLargest

HackerRank Day2

by trentHarlem

JavaScript

/**
 *   Return the second largest number in the array.
 *   @param {Number[]} nums - An array of numbers.
 *   @return {Number} The second largest number in the array.
 **/
//const getSecondLargest = (...nums) => Array.from(new Set([...nums])).sort((a, b) => b - a)[1]

function getSecondLargest(...nums) {
  return Array.from(new Set([...nums])).sort((a, b) => b - a)[1];
}
//console.log(getSecondLargest(1, 2, 3, 4, 5))
console.log(getSecondLargest(2, 3, 6, 6, 5))

/* 
function getSecondLargest(...nums) {
  //const set = new Set([...nums]);
  //return Array.from(set).sort((a, b) => b - a)[1] 
  const arr = [...nums]
  console.log(arr)
  return arr.sort((a, b) => b - a)[1]
}
*/

/* ////////////////   complexity is O(N) ////////////
function getSecLargest(nums) {
let first = nums[0]; 
let second = -1;
  for (let i = 0; i < nums.length; i++) {
    if (nums[i] > first) {
      second = first;
      first = nums[i]
    }
    if (nums[i] > second && nums[i] < first) {
      second = nums[i];
    }
  }
  return second;
}
console.log(getSecLargest(2, 3, 6, 6, 5))
 */