File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change 1+ # Using One Iteration(Best method)
12def getSecondLargest (arr ):
23 n = len (arr )
34 first = second = float ("-inf" )
@@ -14,3 +15,50 @@ def getSecondLargest(arr):
1415 return - 1
1516 return second
1617
18+
19+ # T.C = O(n)
20+ # S.C = O(1)
21+
22+
23+ # Using Two iteration
24+ def getSecondLargest (arr ):
25+ n = len (arr )
26+ first = second = float ("-inf" )
27+ if n < 2 :
28+ return - 1
29+ for i in range (len (arr )):
30+ if arr [i ] > first :
31+ first = arr [i ]
32+ for i in range (len (arr )):
33+ if arr [i ] != first and second < first and arr [i ] > second :
34+ second = arr [i ]
35+
36+ if second == float ("-inf" ):
37+ return - 1
38+ return second
39+
40+
41+ # T.C = O(2n)
42+ # S.C = O(1)
43+
44+
45+ # Using sorted()
46+ def getSecondLargest (arr ):
47+ n = len (arr )
48+ data = sorted (arr )
49+ first = second = float ("-inf" )
50+ if n < 2 :
51+ return - 1
52+ else :
53+ first = max (arr )
54+ for i in range (len (data ) - 1 , 0 , - 1 ):
55+ if data [i ] != first :
56+ second = data [i ]
57+ break
58+ if second == float ("-inf" ):
59+ return - 1
60+ return second
61+
62+
63+ # T.C = O(n log n)
64+ # S.C = O(1)
You can’t perform that action at this time.
0 commit comments