Переборы с грубой силой звучат ужасно (с точки зрения производительности).Можете привести несколько примеров, что сопоставитьString
звучит так, как будто повторение будет разрешено (foo
), но set
не так много.
Чтобы быстрее сопоставить "стек" с "галсами", вы можете отсортировать оба и проверить, одинаковы ли они, что будет работать даже для строк, содержащих некоторые символы чаще:
stack => ackst
tacks => ackst
hello => ehllo
oloeh => ehloo
Для множеств вы можете использовать регулярные выражения:
"tacks".matches ("[stack]+")
, если размер совпадает, но они не будут соответствовать строкам с повторяющимися символами.