Imports System
Class FindNextLetter
Private Shared Function FindSmallestLetterGreaterThanTarget(ByVal letters As Char(), ByVal givenLetter As Char) As Char
Dim left As Integer = 0
Dim right As Integer = letters.Length - 1
Dim result As Char = letters(0)
While left <= right
Dim mid As Integer = left + (right - left) / 2
If letters(mid) > givenLetter Then
result = letters(mid)
right = mid - 1
Else
left = mid + 1
End If
End While
Return result
End Function
Public Shared Sub Main()
Dim letters As Char() = {"c"c, "e"c, "k"c, "m"c}
Dim givenLetter As Char = "d"c
Dim result As Char = FindSmallestLetterGreaterThanTarget(letters, givenLetter)
Console.WriteLine($"The smallest letter greater than '{givenLetter}' is: {result}")
End Sub
End Class
' run:
'
' The smallest letter greater than 'd' is: e
'