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