Программа курса:
Задача 11: Найди самую маленькую букву больше цели
Напишите определение функции nextGreatestLetter(letters, target), которая принимает массив символов letters и символ target, и возвращает наименьший символ в массиве letters, который лексикографически больше, чем target. Если такого символа не существует, функция должна вернуть первый символ из массива letters.
Сравнение привычными математическими знаками, которое производится со строками называется лексикографическим и оно основано на сравнении суммы кодов символов из кодификации, но если мы говорим чисто об алфавитных символах, то:
Лексикографически больше — это способ сравнения строк или символов, который основан на порядке символов в алфавите. Он аналогичен алфавитному порядку, который мы используем для слов в словарях.
Формат ввода:
letters— массив символов, отсортированный в неубывающем порядке (список строк длиной от 2 до 10^4).target— символ, для которого необходимо найти наименьший символ, лексикографически больший его.
Формат вывода:
- Символ из массива
letters, соответствующий условиям задачи.
Примеры:
Пример 1:
Вход:letters = ["c", "f", "j"], target = "a"
Выход:"c"
Объяснение:
Наименьший символ, который лексикографически больше 'a', — это 'c'.
Пример 2:
Вход:letters = ["c", "f", "j"], target = "c"
Выход:"f"
Объяснение:
Наименьший символ, который лексикографически больше 'c', — это 'f'.
Пример 3:
Вход:letters = ["x", "x", "y", "y"], target = "z"
Выход:"x"
Объяснение:
В массиве letters нет символа, лексикографически большего, чем 'z', поэтому возвращается первый символ массива — 'x'.