Я пытаюсь выяснить, можно ли или нет переставить часть заданной строки A в заданную строку B (логический вывод).
Поскольку алгоритм должен быть не более O (n), чтобы облегчить его,Я использовал stringA.retainAll (stringB), так что теперь я знаю, что строка A и строка B состоят из одного и того же набора символов, и теперь вся задача пахнет регулярным выражением.
И .. читая о регулярном выражении, я могу быть теперь две проблемы (c).
Вопрос в том, могу ли я столкнуться с риском получить O (бесконечность) с помощью регулярных выражений или более эффективно использовать StreamAPI с целью выяснения, является ли каждый символ строкиA имеет достаточно дубликатов, чтобы покрыть каждый из символов строки B?Не говоря уже о синтаксисе регулярных выражений, который нелегко читать и создавать.
На данный момент я не могу использовать сортировку (любая сортировка - по крайней мере, n * log (n)), ни хэш-наборы, ни лайки (поскольку это устраняет дубликаты в обоихстроки).
Спасибо.