0 out of 464 challenges solved
Write a function `find_first_occurrence` that takes a sorted list of integers `A` and an integer `x` as input and returns the index of the first occurrence of `x` in the list. If `x` is not present in the list, the function should return `-1`. The function should use a binary search approach to achieve an efficient solution. #### Example Usage ```python [main.nopy] find_first_occurrence([2, 5, 5, 5, 6, 6, 8, 9, 9, 9], 5) # Output: 1 find_first_occurrence([2, 3, 5, 5, 6, 6, 8, 9, 9, 9], 5) # Output: 2 find_first_occurrence([2, 4, 1, 5, 6, 6, 8, 9, 9, 9], 6) # Output: 4 ``` #### Constraints - The input list `A` is sorted in non-decreasing order. - The function should have a time complexity of O(log n). - The function should return `-1` if the element is not found.
def find_first_occurrence(A, x):
"""
Find the index of the first occurrence of x in the sorted list A.
Args:
A (list): A sorted list of integers.
x (int): The target integer to find.
Returns:
int: The index of the first occurrence of x, or -1 if not found.
"""
# Initialize the search bounds
left, right = 0, len(A) - 1
result = -1
# Implement binary search
while left <= right:
mid = (left + right) // 2
# Placeholder for logic
pass
return result