12. Регулярные выражения#
| 🎯 Уровень | 🔴 Senior |
| 🔗 Источник | LeetCode 10 — Regular Expression Matching |
| 📊 Сложность | Hard |
| 🏷️ Темы | динамическое программирование, строки |
📝 Условие#
Проверьте, соответствует ли строка шаблону с символами . (любой символ) и * (ноль или больше предыдущего).
Совет
На LeetCode
mainне нужен: данные приходят аргументами метода классаSolution.
Формат ниже — для запуска у себя черезcin/cout.
📥 Входные данные#
Две строки: s (строчные буквы) и шаблон p (строчные буквы, . и *). Длины от 1 до 20.
📤 Выходные данные#
true, если шаблон совпадает со всей строкой, иначе false.
🧪 Тесты#
Тест 1#
Ввод:
aa
a
Вывод:
false
Тест 2#
Ввод:
aa
a*
Вывод:
true
Тест 3#
Ввод:
ab
.*
Вывод:
true
Тест 4#
Ввод:
mississippi
mis*is*p*.
Вывод:
false
Заметка
Оригинальное условие и проверка решения на всех тестах — по ссылке на источник.
💡 Подсказка#
Открыть, если застрял(а) больше чем на 20 минут
dp[i][j] — совпадают ли префиксы.