Find Second Largest Number From Array | Java Interview Questions and Answers

preview_player
Показать описание
In this video, we showed you how to find the second highest number in Java.

#javainterviewquestions
#javacodinginterviewquestions
#javaprogramming
Рекомендации по теме
Комментарии
Автор

Answer: Yes it will definitely work.
I have few approaches to solve this problem:
Approach 1:
Step 1: Add all the elements in a Set.
Step 2: Now add all elements from set into a new ArrayList and Sort.
Step 3 : Get size -2 th element
Time Complexity O(nlogn)
Space Complexity O(n)


Approach 2: (Using Heap or PriorityQueue)
Step 1: Add All elements into a set to remove duplicates
Step 2: Iterate through each elements of the set and add it into the Min Heap.
Step 3: Check if the size of Heap >2 then pop the top elements.
Step 4: Return Top element
Time Complexity: O(nlog2)
Space Complexity:O(n)
If there were no Duplicates then Space Complexity can Be constant.

pradeepkundekar
Автор

program will continue to work as expected. thank you for the video

unknownplayer
Автор

It will work as expected, since we are checking the highest number logic!!!

sathiskumarp
Автор

I think first we have to remove duplicate elements from array and then we sort,
After that there no problem if we give any updated array

sandeshkulkarni
Автор

Good Logic Thanks, what if there are null values in array, then how to find 2nd largest??

bheemshankar_pk
Автор

Just using the builtin functions.
where is the brain applied?

newanurag
Автор

public class {
public static void main(String[] args) {

int arr[] = { 1, 4, 35, 34, 35, 35 };

int largest = arr[0];
int secondLargest = arr[0];

for (int i = 0; i < arr.length; i++) {
if (largest < arr[i]) {
secondLargest = largest;
largest = arr[i];
} else if (secondLargest < arr[i] && largest > arr[i]) {
secondLargest = arr[i];
}
}



}
}

stayvloging
Автор

Will this work in an array of 100, 000 integers?

rmcf
Автор

For bigger test cases it is not working

princemohammed
Автор

Bro pls make remove duplicate elements from array

trendinguniverse
Автор

I don't think last code is suitable for all testcases

akhilraj
Автор

at some cases of gfg, this code don't work .

chaitanaywaskar
Автор

hi bro i have used this logic can u please check this..

int array[]=new int [] {1, 4, 5, 35, 35, 35, 34};

Arrays.sort(array); //1, 2, 4, 34, 35, 35;
int

for(int i=array.length-2;i>=0;i--) {
{



}

nitheeshreddy
Автор

If I add second largest element two time
Then this logic will give error

wewgkic
Автор

Better to make it as Hashset to remove duplicates

ChennaiCineCuts
Автор

This will fail in case you have 2 duplicate elements as smallest . for ex int[] arr = {1, 2, 5, 7, 8, 9, -14, 56, 98, -3, -14, 2};

yogeshganpule
Автор

This logic won't work, if we take the array elements as a input from user.

shaikhkhizar
Автор

Hi @CloudTech,

Stream.of(1, 4, 5, 35, 34, 35)
.sorted((n1, n2)-> Integer.compare(n2, n1))
.distinct()
.limit(2)
.skip(1)

jeckrazi