Поиск позиции подходящего фрагмента

6 задач
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.

Первая пара двух гласных

Дана строка s. Рассматриваются все подряд идущие фрагменты длины 2 (в том числе пересекающиеся). Найдите первый индекс начала фрагмента, для которого выполнено условие: обе буквы гласные из набора AEIOU. Если подходящих фрагментов нет, выведите -1. Индексы начинаются с нуля.

Ввод: одна строка без пробелов. Длина строки от 1 до 2500 символов. Строка содержит только символы A, B, C, D, E, I, O, U.

Вывод: одно целое число.

Пересекающиеся фрагменты учитываются отдельно.

Последняя тройка с двумя A

Дана строка s. Рассматриваются все подряд идущие фрагменты длины 3 (в том числе пересекающиеся). Найдите последний индекс начала фрагмента, для которого выполнено условие: ровно две буквы A. Если подходящих фрагментов нет, выведите -1. Индексы начинаются с нуля.

Ввод: одна строка без пробелов. Длина строки от 1 до 2500 символов. Строка содержит только символы A, B, C.

Вывод: одно целое число.

Пересекающиеся фрагменты учитываются отдельно.

Первая пара разных символов

Дана строка s. Рассматриваются все подряд идущие фрагменты длины 2 (в том числе пересекающиеся). Найдите первый индекс начала фрагмента, для которого выполнено условие: символы различны. Если подходящих фрагментов нет, выведите -1. Индексы начинаются с нуля.

Ввод: одна строка без пробелов. Длина строки от 1 до 2500 символов. Строка содержит только символы A, B, C, D.

Вывод: одно целое число.

Пересекающиеся фрагменты учитываются отдельно.

Последняя пара AB

Дана строка s. Рассматриваются все подряд идущие фрагменты длины 2 (в том числе пересекающиеся). Найдите последний индекс начала фрагмента, для которого выполнено условие: первая буква A, вторая B. Если подходящих фрагментов нет, выведите -1. Индексы начинаются с нуля.

Ввод: одна строка без пробелов. Длина строки от 1 до 2500 символов. Строка содержит только символы A, B, C, D.

Вывод: одно целое число.

Пересекающиеся фрагменты учитываются отдельно.

Первая тройка по возрастанию

Дана строка s. Рассматриваются все подряд идущие фрагменты длины 3 (в том числе пересекающиеся). Найдите первый индекс начала фрагмента, для которого выполнено условие: три символа идут строго по возрастанию. Если подходящих фрагментов нет, выведите -1. Индексы начинаются с нуля.

Ввод: одна строка без пробелов. Длина строки от 1 до 2500 символов. Строка содержит только символы A, B, C, D, E.

Вывод: одно целое число.

Пересекающиеся фрагменты учитываются отдельно.

Последняя симметричная тройка

Дана строка s. Рассматриваются все подряд идущие фрагменты длины 3 (в том числе пересекающиеся). Найдите последний индекс начала фрагмента, для которого выполнено условие: первый и третий символы одинаковы, а средний отличается от них. Если подходящих фрагментов нет, выведите -1. Индексы начинаются с нуля.

Ввод: одна строка без пробелов. Длина строки от 1 до 2500 символов. Строка содержит только символы A, B, C, D.

Вывод: одно целое число.

Пересекающиеся фрагменты учитываются отдельно.

Поделиться
Класснуть