Python Bisect: Find the index position of the last occurrence of a given number in a sorted list using Binary Search
6. Last Occurrence with 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:

For more Practice: Solve these Related Problems:
- Write a Python program to find the index of the last occurrence of a target number in a sorted list using bisect_right and subtracting one.
- Write a Python script to implement a binary search that returns the last occurrence index of a duplicate target value in a sorted array.
- Write a Python program that uses bisect_right to identify the rightmost index of a target and then prints the index of its last occurrence.
- Write a Python function to locate the final occurrence of a given number in a sorted list and handle cases where the target is absent.
Python Code Editor:
Contribute your code and comments through Disqus.
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.