#include <stdio.h>
// Function to find the smallest letter greater than the given letter
char findSmallestLetterGreaterThanTarget(char letters[], int size, char given_letter) {
int left = 0, right = size - 1;
char result = letters[0]; // Default to the first letter
while (left <= right) {
int 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;
}
int main() {
char letters[] = {'c', 'e', 'k', 'm'};
int size = sizeof(letters) / sizeof(letters[0]);
char given_letter = 'd';
char result = findSmallestLetterGreaterThanTarget(letters, size, given_letter);
printf("The smallest letter greater than '%c' is: %c\n", given_letter, result);
return 0;
}
/*
run:
The smallest letter greater than 'd' is: e
*/