Я пытаюсь взять семизначную строку и сгенерировать все возможные трех- и четырехбуквенные перестановки. Это похоже на то, что рекурсия была бы полезна (большинство генераторов перестановок, которые я видел, являются рекурсивными), но я продолжаю зацикливаться на том, как избежать повторения. То есть, если моей входной строкой является «aabcdef», я не хочу, чтобы какая-либо перестановка содержала более двух символов «a».
Любые идеи, которые вы можете предоставить, приветствуются.