Программа курса:
Задача 9: Кратчайшее расстояние до целевого символа
Напишите определение функции shortestToChar(s, c), которая принимает строку s (состоящую из строчных латинских букв) и символ c, который гарантированно содержится в строке s. Функция должна вернуть массив целых чисел answer, где длина answer равна длине строки s, а answer[i] — это расстояние от индекса i до ближайшего вхождения символа c в строке s.
Расстояние между двумя индексами i и j определяется как abs(i - j), где abs — функция абсолютного значения.
Примеры:
Пример 1:
Ввод:s = "loveleetcode", c = "e"
Вывод:[3,2,1,0,1,0,0,1,2,2,1,0]
Пояснение:
Символ 'e' встречается на позициях 3, 5, 6 и 11 (нумерация начинается с 0).
Для каждого индекса в строке вычисляется расстояние до ближайшего вхождения 'e':
- Для индекса
0: ближайший'e'находится на позиции 3, расстояниеabs(0 - 3) = 3. - Для индекса
1: ближайший'e'находится на позиции 3, расстояниеabs(1 - 3) = 2. - Для индекса
4: расстояние до'e'на позициях 3 и 5 одинаковое:abs(4 - 3) == abs(4 - 5) = 1. - Аналогично вычисляются остальные расстояния.
Пример 2:
Ввод:s = "aaab", c = "b"
Вывод:[3,2,1,0]
Пояснение:
Символ 'b' встречается только на позиции 3. Расстояния до неё:
- Индекс
0: расстояниеabs(0 - 3) = 3. - Индекс
1: расстояниеabs(1 - 3) = 2. - Индекс
2: расстояниеabs(2 - 3) = 1. - Индекс
3: расстояниеabs(3 - 3) = 0.