numbers = [3,4,2,6,8,3,5,6,1]
Second Largest is : 6 Second smallest is : 2
To solve this problem we will first find the maximum and minimum from the list. we can do this by using in built min max function or by iterating the list.
minimum = min(numbers) maximum = max(numbers)
minimum = None maximum = None for i in numbers: if minimum==None or minimum>i: minimum = i if maximum==None or maximum<i: maximum = i
Now that we know which number is smallest and greatest in the list we can find the second largest and second smallest using the same method keeping in mind that this numbers should not be equal to the numbers we found earlier.
Below is the full program in Python:
def solution(numbers): if len(numbers)<=2: return None,None first_min = min(numbers) first_max = max(numbers) second_min = None second_max = None for i in numbers: if i>first_min: if second_min==None or i<second_min: second_min = i if i<first_max: if second_max==None or i>second_max: second_max = i return second_max,second_min numbers = [3,4,2,6,8,3,5,6,1] second_max, second_min = solution(numbers) print("Second Largest is : ",second_max) print("Second smallest is : ",second_min)
Follow us on Instagram @programmersdoor
Join us on Telegram @programmersdoor
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed.
Follow Programmers Door for more.