Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,955 questions

51,897 answers

573 users

How to find the second smallest elements in an array (list) in Python

2 Answers

0 votes
import sys 
  
def getTheSecondSmallest(arr): 
    size = len(arr) 

    first = second = sys.maxsize 
    for i in range(0, size): 
        if arr[i] < first: 
            second = first 
            first = arr[i] 
        elif (arr[i] < second and arr[i] != first): 
            second = arr[i] 
  
    if (second == sys.maxsize): 
        return -1
    else: 
        return second
  
arr1 = [34, 3, 8, 2, 9, 4, 6] 
print(getTheSecondSmallest(arr1)) 

arr2 = [1, 1, 2, 1, 1] 
print(getTheSecondSmallest(arr2)) 

arr3 = [5, 5, 5, 5, 5, 5, 5] 
print(getTheSecondSmallest(arr3)) 


    
'''
run:
    
3
2
-1
           
'''

 



answered May 31, 2020 by avibootz
edited Dec 17, 2021 by avibootz
0 votes
import sys 
   
def getTheSecondSmallest(lst): 
    lst.sort()
     
    return lst[1]
   
lst1 = [34, 3, 8, 2, 9, 4, 6] 
print(getTheSecondSmallest(lst1)) 
 
lst2 = [1, 1, 2, 1, 1] 
print(getTheSecondSmallest(lst2)) 
 
lst3 = [5, 5, 5, 5, 5, 5, 5] 
print(getTheSecondSmallest(lst3)) 
 
 
 
     
'''
run:
     
3
1
5
            
'''

 



answered Aug 19, 2021 by avibootz

Related questions

1 answer 123 views
1 answer 98 views
1 answer 122 views
1 answer 109 views
1 answer 115 views
2 answers 145 views
...