import Foundation
// Function to find the smallest letter greater than the given letter
func findSmallestLetterGreaterThanTarget(letters: [Character], givenLetter: Character) -> Character {
var left = 0
var right = letters.count - 1
var result = letters[0] // Default to the first letter
while left <= right {
let 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
}
let letters: [Character] = ["c", "e", "k", "m"]
let givenLetter: Character = "d"
let result = findSmallestLetterGreaterThanTarget(letters: letters, givenLetter: givenLetter)
print("The smallest letter greater than '\(givenLetter)' is: \(result)")
/*
run:
The smallest letter greater than 'd' is: e
*/