Skip to main content

Command Palette

Search for a command to run...

Second Largest Element in JavaScript Solved

Published
1 min read
Second Largest Element in JavaScript Solved
S

Ex Full Stack Developer at @WiseBoxs | Vue React Node | MERN

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)

2 views