Форум сайта python.su
0
Добрый день,
С регулярными выражениями мало сталкивалась, поэтому очень нужна помощь.
Есть строка размером N составленная из k элементов.
Нужно найти минимальный отрезок в строке из N элементов, с вхождением всех k возможных элементов не менее 1 раза
Например:
k = [1-5] N = 19 Строка: 2222312543433333251 Ответ: 31254
Отредактировано NK (Май 8, 2016 16:08:52)
Офлайн
857
NKЧерез регулярные выражение её не решишь. (Можно ерунду только написать, далёкую от элегантного решения.)
Можно ли решить задачу через регулярные выражения и как это сделать?
Отредактировано py.user.next (Май 8, 2016 16:52:09)
Офлайн
0
py.user.nextСпасибо за ответ! Подскажите, пожалуйста, хотя бы направление, как такую задачу решать?
Офлайн
857
NKВообще, надо составить юнит-тесты. Это чтобы не пропереться с какой-нибудь последовательностью. А то можно алгоритм написать, а он какую-нибудь редкую последовательность неправильно обработает. Чтобы его изменить, надо будет проверять все последовательности заново. И так каждый раз при любой ошибке.
как такую задачу решать?
k = [1-5]
N = 19
Строка: 1222233334343333325
Ответ: 1222233334343333325
Офлайн
0
py.user.nextСпасибо! Все супер, написала, работает
Офлайн