Skip to content

Commit 49831bd

Browse files
added second largest and smallest
1 parent b82d406 commit 49831bd

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
Find second largest element in array:
2+
3+
4+
Brute:(sort beforehand) find first largest element, now we know second largest will be at arr[n-2] position, start iterating from backward and to return element, take a variable secondLargest, if (arr[i]<largest && arr[i]>secondLargest) secondLargest=arr[i] return secondLargest
5+
6+
For smallest: find first smallest element, now we know second smallest will be at arr[1] position, start iterating from forward and to return element, take a variable secondSmallest, if (arr[i]>smallest && arr[i]<secondSmallest) secondSmallest=arr[i] return secondSmallest
7+
8+
9+
10+
TC: O(nlogn) + O(n) = O(nlogn)
11+
SC: O(1)
12+
13+
14+
15+
16+
17+
Better:
18+
Without sort, then first find largest with optimal, then find second largest and iterate forward and compare both largest and second largest, if (arr[i]>secondLargest && arr[i]<largest) secondLargest=arr[i] return secondLargest
19+
20+
for smalllest, find smallest, then find second smallest and iterate forward and compare both smallest and second smallest, if (arr[i]<secondSmallest && arr[i]>smallest) secondSmallest=arr[i] return secondSmallest.
21+
22+
23+
TC: O(n)(first pass, for largest)+O(n)(for second pass, for second largest) = O(n)
24+
SC: O(1)
25+
26+
27+
28+
29+
Optimal: Taking two variables, largest=arr[0], secondLargest=-1
30+
1. Do nothing, if the largest number is equivalent
31+
2. If number is smaller than largest, then take that as second largest element
32+
33+
https://practice.geeksforgeeks.org/problems/find-the-smallest-and-second-smallest-element-in-an-array3226/1?utm_source=gfg&utm_medium=article&utm_campaign=bottom_sticky_on_article
34+
35+
TC: O(n)
36+
SC: O(1)
37+
38+
39+
All the three approaches:
40+
https://www.codingninjas.com/codestudio/problems/ninja-and-the-second-order-elements_6581960?utm_source=youtube&utm_medium=affiliate&utm_campaign=striver_Arrayproblems&leftPanelTab=1

0 commit comments

Comments
 (0)