Arrays || JS Hackerrank Solution

 Task

Complete the getSecondLargest function in the editor below. It has one parameter: an array, , of

numbers. The function must find and return the second largest number in .




Input Format

Locked stub code in the editor reads the following input from stdin and passes it to the function:

The first line contains an integer, , denoting the size of the array.

The second line contains space-separated numbers describing the elements in .

Constraints

, where is the number at index .

The numbers in are not distinct.

Output Format

Return the value of the second largest number in the array.

Sample Input 0

5

2 3 6 6 5

Sample Output 0

5


Solution:

  'use strict';

 

  process.stdin.resume();

  process.stdin.setEncoding('utf-8');

 

  let inputString = '';

  let currentLine = 0;

 

 process.stdin.on('data', inputStdin => {

     inputString += inputStdin;

  });

 

  process.stdin.on('end', _ => {

    inputString = inputString.trim().split('\n').map(string => {

        return string.trim();

    });

    

    main();    

  });

 

  function readLine() {

    return inputString[currentLine++];

  }

 

  function getSecondLargest(nums) {

    // Complete the function

    var m=Math.max.apply(null,nums);

    for(var i=0;i<nums.length;i++){

        if(nums[i]==m){

            nums[i]=-Infinity;

        }

    }

    var sec=Math.max.apply(null,nums);

    return sec;

  }

 

  function main() {

    const n = +(readLine());

    const nums = readLine().split(' ').map(Number);

    

    console.log(getSecondLargest(nums));

  }

 

No comments:

Post a Comment