-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSecondLargest.java
More file actions
60 lines (52 loc) · 1.18 KB
/
SecondLargest.java
File metadata and controls
60 lines (52 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package com.test;
import java.util.Arrays;
public class SecondLargest {
public static void main(String[] args) {
int[] a= {7,9,6,0,4,4,2,1,8,11,10};
int largest=a[0];
int secondlargest=-1;
//Brute Force solution
/*
* Arrays.sort(a); largest=a[a.length-1]; for(int i=a.length-2;i>=0;i--) {
* if(a[i]!=largest) { secondlargest=a[i]; break; } }
* System.out.println("Largest element "+largest
* +" Second largest "+secondlargest); Time complexity=Olog(n)+n //for sorting
* and running the loop
*/
//Better approach
for(int i=0;i<a.length;i++)
{
if(a[i]> largest)
{
largest=a[i];
}
}
for(int i=0;i<a.length;i++) {
if(a[i]>secondlargest && a[i]<largest)
{
secondlargest=a[i];
}
}
System.out.println("Largest "+largest +"SecondLargest "+secondlargest);
//Time complexity =O(2(n))
//Optimal solution
/*largest=a[0];
secondlargest=-1;
for(int i=0;i<a.length;i++)
{
if(a[i]>largest)
{
secondlargest=largest;
largest=a[i];
}
else if(a[i]>secondlargest && a[i]<largest)
{
secondlargest=a[i];
}
}
System.out.println("Second largest "+secondlargest);
Time complexity=O(n)
*
*/
}
}