How to find the last occurrence of an element inside sorted list using binary search in Python

1 Answer

0 votes
from bisect import bisect_right 
   
def binary_search(lst, n): 
    i = bisect_right(lst, n) 
    if i != len(lst) + 1 and lst[i - 1] == n: 
        return i - 1
    else: 
        return -1
    
lst = [1, 2, 3, 3, 3, 4, 20, 40]
   
result = binary_search(lst, 3) 
if result == -1: 
    print("Element not Found") 
else: 
    print("Element found at index", result)
   
    
    
    
    
'''
run:
    
Element found at index 4
    
'''

 



answered Apr 30, 2021 by avibootz
edited May 1, 2021 by avibootz
...