Задача 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'.

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии