using System;
class FindNextLetter
{
// Function to find the smallest letter greater than the given letter
static char FindSmallestLetterGreaterThanTarget(char[] letters, char givenLetter) {
int left = 0;
int right = letters.Length - 1;
char result = letters[0]; // Default to the first letter
while (left <= right) {
int mid = left + (right - left) / 2;
if (letters[mid] > givenLetter) {
result = letters[mid];
right = mid - 1; // Narrow down to the left half
}
else {
left = mid + 1; // Narrow down to the right half
}
}
return result;
}
static void Main()
{
char[] letters = { 'c', 'e', 'k', 'm' };
char givenLetter = 'd';
char result = FindSmallestLetterGreaterThanTarget(letters, givenLetter);
Console.WriteLine($"The smallest letter greater than '{givenLetter}' is: {result}");
}
}
/*
run:
The smallest letter greater than 'd' is: e
*/