How to find the smallest letter in a sorted list that is larger than a given letter in Python

1 Answer

0 votes
# Function to find the smallest letter greater than the target
def find_smallest_letter_greater_than_target(letters, given_letter):
    left, right = 0, len(letters) - 1
    result = letters[0]  # Default to the first letter 

    while left <= right:
        mid = left + (right - left) // 2

        if letters[mid] > given_letter:
            result = letters[mid]
            right = mid - 1  # Narrow down to the left half
        else:
            left = mid + 1  # Narrow down to the right half

    return result


letters = ['c', 'e', 'k', 'm']  
given_letter = 'd'

result = find_smallest_letter_greater_than_target(letters, given_letter)

print(f"The smallest letter greater than '{given_letter}' is: {result}")



'''
run:

The smallest letter greater than 'd' is: e

'''

 



answered Sep 21 by avibootz
edited Sep 21 by avibootz
...