import sys
def get_second_largest(arr):
if len(arr) == 1:
return arr[0]
first_max = max(arr[0],arr[1])
second_max = min(arr[0],arr[1])
for i in range(2,len(arr)):
if arr[i] > first_max:
second_max = first_max
first_max = arr[i]
elif arr[i] > second_max and first_max != arr[i]:
second_max = arr[i]
return second_max
def get_third_largest(arr):
first_largest = arr[0]
second_largest = -sys.maxsize
third_largest = -sys.maxsize
for i in range(1,len(arr)):
if arr[i] > first_largest:
third_largest = second_largest
second_largest = first_largest
first_largest = arr[i]
elif arr[i] > second_largest:
third_largest = second_largest
second_largest = arr[i]
elif arr[i] > third_largest:
third_largest = arr[i]
return third_largest
return third_max
print(get_second_largest([5,3,1,4,9]))
print(get_third_largest([5,3,1,4,9]))
data = ['eat', 'ate', 'tea', 'ant', 'tan',
'bat', 'adobe', 'abode', 'listen', 'silent']
def createAnagramKey(string):
key = ''
for ch in sorted(string):
key += ch
return str(key)
def groupAnagramWords(data):
group = dict()
for ele in data:
if group.get(createAnagramKey(ele)) == None:
group[createAnagramKey(ele)] = [ele]
else:
group[createAnagramKey(ele)].append(ele)
return group
anagram_grouped = groupAnagramWords(data)
# Anagram in dictonry format
print('In dictonry format')
print(anagram_grouped)
anagram_grouped_list = list()
print("d")
for k, v in anagram_grouped.items():
anagram_grouped_list.append(v)
print('In list format')
print(anagram_grouped_list)