w3resource

Python Bisect: Find the index position of the last occurrence of a given number in a sorted list using Binary Search


Write a Python program to find the index position of the last occurrence of a given number in a sorted list using Binary Search (bisect).

Sample Solution:

Python Code:

from bisect import bisect_right   
def BinarySearch(a, x): 
    i = bisect_right(a, x) 
    if i != len(a)+1 and a[i-1] == x: 
        return (i-1) 
    else: 
        return -1 
nums = [1, 2, 3, 4, 8, 8, 10, 12] 
x = 8
num_position   = BinarySearch(nums, x) 
if num_position == -1: 
    print("not presetn!") 
else: 
    print("Last occurrence of", x, "is present at", num_position)

Sample Output:

Last occurrence of 8 is present at 5

Flowchart:

Flowchart: Find the index position of the last occurrence of a given number in a sorted list using Binary Search.

Python Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a Python program to find the index position of the largest value smaller than a given number in a sorted list using Binary Search (bisect).

Next: Write a Python program to find three integers which gives the sum of zero in a given array of integers using Binary Search (bisect).

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.