Find the Smallest Letter Greater Than Target
In this lab, you will implement a function nextGreatestLetter
that finds the smallest character greater than a given target character from an array of characters. The array is sorted in non-decreasing order, and there are at least two different characters in it. If such a character does not exist, return the first character in the given array.
You are given an array of sorted characters letters
and a character target
. Your task is to return the smallest character in letters
that is lexicographically greater than target
. In other words, return the next greater character in the sorted array after the target character.
/** * @param {character[]} letters * @param {character} target * @return {character} */ export function nextGreatestLetter(letters, target) { }
Example
Example 1:
Input: letters = ["c","f","j"], target = "a"
Output: "c"
Explanation: The smallest character that is lexicographically greater than 'a' in the array letters
is 'c'.
Example 2:
Input: letters = ["c","f","j"], target = "c"
Output: "f"
Explanation: The smallest character that is lexicographically greater than 'c' in the array letters
is 'f'.
Example 3:
Input: letters = ["x","x","y","y"], target = "z"
Output: "x"
Explanation: There are no characters in the array letters
that are lexicographically greater than 'z', so we return the first character 'x'.
Constraints
2 <= letters.length <= 104
letters[i]
is a lowercase English letter.letters
is sorted in non-decreasing order.letters
contains at least two different characters.target
is a lowercase English letter.
Challenges
- Export a function named
nextGreatestLetter
that takes two arguments: an array of charactersletters
and a charactertarget
. The function should return a character. - The function must find the smallest character in the array
letters
that is lexicographically greater than the target character. The array is non-decreasing, and there are at least two different characters in it. - If no such character is found, the function should return the first character in the array.