Позвольте мне начать с того, что я провалил это испытание - оно уже закончилось, я не выполнил его, не получил работу - так что не говорите мне, что я обманываю, прося о помощи. У меня было 90 минут, чтобы решить эту проблему.
Кстати, если кто-то знает, как называется этот общий класс проблем, дайте мне знать.
Вот, насколько я могу вспомнить , вопрос.
Дана случайная последовательность символов из набора {'a', 'b'}. Создайте 3 подмножества из последовательности, например: с учетом aaaa подмножества:
- aa-aa
- a-aa-a
- aa-aa
Каждое подмножество должно иметь по крайней мере 1 'a'. Если последовательность имеет ноль 'a', то перечислите возможные группы b (как выше с 4 'a') Если последовательность имеет только 1 или 2 ' a ', то не обрабатывать (это, конечно, тривиально для проверки)
так, вот немного более сложный пример:
Учитывая "babbaaba"
подмножества будут:
- ba-bbaab-a
- bab-baab-a
- babb-aab-a
- babba-ab- а
- ба-бба-ба
- ба-бба-аба
- баб-ба-ба
- баб-ба-аба и т. c. .. (извините, неполно, не надо вас утомлять)
Я не могу придумать хороший способ решить эту проблему, я снова и снова просматривал свой (ручной) процесс, и на самом деле не вижу никакого алгоритма, возникающего из этого.
Был лимит на максимальный размер набора, возможно, 10 000 символов. Предположительно, чтобы указать, что использование рекурсии не будет проблемой.