Поиск узора
Часть раздела Основы путешествия по Kotlin на Coddy. Урок 92 из 93.
Задание
СреднеНапишите функцию findPattern, которая принимает text и pattern и возвращает начальный индекс первого вхождения шаблона в тексте.
Выполните поиск в тексте, чтобы найти первое появление шаблона. Если шаблон найден, верните его начальный индекс с отсчётом от 0. Если шаблон отсутствует в тексте, верните -1.
Логика:
- Переберите возможные начальные позиции в тексте
- В каждой позиции проверьте, соответствует ли подстрока шаблону
- Верните индекс сразу после обнаружения совпадения
- Если после проверки всех позиций совпадение не найдено, верните
-1
Параметры:
text(String): Текст, в котором выполняется поискpattern(String): Шаблон для поиска
Возвращаемое значение: Индекс с отсчётом от 0, где шаблон появляется впервые, или -1, если шаблон не найден (Int)
Ограничения на входные данные: Пустой шаблон соответствует индексу 0. Если шаблон длиннее текста, совпадение отсутствует.
Попробуйте сами
fun findPattern(text: String, pattern: String): Int {
// Напишите код здесь
}
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеОператоры сравненияПовторение — простая математика7Базовый ввод-вывод
Функция PrintlnШаблоны строкВвод ReadLineПреобразование типовПовторение — лет до выхода на пенсиюПовторение — правда или ложь10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияИменованные аргументыЗначения по умолчаниюФункции с одним выражениемПовторение — функция SigmaПовторение — функция валидации13Итерация по последовательностям
Итерация по элементамМетод WithIndexИтерация по строкам, ч. 1Итерация по строкам, ч. 2Повторение — индексированные буквы2Переменные
Val и VarВывод типовЧислаСтрокаЛогическое значениеСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Логические операторы, часть 3Тернарный оператор с выражением ifПовторение — простая логика8Калькулятор разделения счёта
Приветственное сообщениеВвод данных3Обработка null
Что такое безопасность nullТипы, допускающие nullОператор безопасного вызоваОператор ЭлвисаОсновы задания на функцииУтверждение ненулевого значенияПовторение — безопасный доступ6Принятие решений
Инструкция ifIf — ElseIf как выражениеВыражение whenWhen с диапазонамиПовторение — простой калькулятор9Циклы
Цикл ForЦикл WhileЦикл Do-WhileBreakContinueДиапазоны в циклахВложенный циклПовторение — факториалПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Kotlin