Я хочу создать динамический генератор строк, который будет генерировать все возможные уникальные строки из набора символов с динамической длиной.Динамический генератор символов; Сгенерируйте все возможные строки из набора символов
Я могу сделать это очень легко, используя для циклов, но затем его статическую и не динамическую длину.
// Prints all possible strings with the length of 3
for a in allowedCharacters {
for b in allowedCharacters {
for c in allowedCharacters {
println(a+b+c)
}
}
}
Но когда я хочу, чтобы сделать эту динамику длины, так что я могу просто позвонить generate(length: 5)
я запутаться.
Я нашел это Stackoverflow question Но принятый ответ генерирует строки длиной 1-maxLength, и я хочу maxLength на любой строке.
Почему бы не использовать рекурсию? – Dmitry
@Arbitur не забудьте объяснить, что «сделало дубликаты и не было заказано» означает - нет никаких упоминаний о каких-либо ограничениях в вашем сообщении, и все же вы утверждаете, что связанное решение неприемлемо ... –
@AlexeiLevenkov Связанный ответ породил что-то например: a, b, aa, aa, ab, bb, bb, ab. Несколько дубликатов. – Arbitur