Second Largest Element in JavaScript Solved

In this article lets solve the second largest element question in javascript.
Solution 1 - Find the first largest element and then find the second large
class Solution {
// Function returns the second largest element
getSecondLargest(arr) {
const len = arr.length;
if(len===2) {
if(arr[0] === arr[1]) return -1;
if(arr[0]>arr[1]){
return arr[1]
}else{
return arr[0]
}
}
let lg = 0;
let slg = -1;
for(let i=0; i<len; i++){
if(arr[i]>lg){
lg= arr[i]
}
}
for(let i=0; i<len; i++){
if(arr[i]> slg && arr[i]<lg){
slg = arr[i];
}
}
return slg;
}
}
Time Complexity - O(2N)
Solution 2 - More Optimized with pointer

class Solution {
// Function returns the second largest element
getSecondLargest(arr) {
const len = arr.length;
if(len===2) {
if(arr[0] === arr[1]) return -1;
if(arr[0]>arr[1]){
return arr[1]
}else{
return arr[0]
}
}
let lg = arr[0];
let slg = -1;
for(let i=1; i<len; i++){
if(arr[i]>lg){
slg=lg;
lg=arr[i]
}
else if(arr[i]>slg && arr[i]<lg){
slg=arr[i]
}
}
return slg;
}
}
Time complexity - O(n)




