Как найти перестановки строки?
Как я могу найти комбинации конкретной строки....
ABCD - "", A, B, C, AB, AC, AD,AD,BC,BD,CD,ABC,ACD,ABD,ABCD,...
С языком программирования....
Спасибо..
2 ответа
Решение
Вставьте нужный алфавит в набор и вызовите findSubset .
Set findSubsets(Set A)
{
if A is the empty set
return the empty set
// The first element of our set is A[0]
// (A - A[0] is the set A without the first element)
Set B := findSubsets(A - A[0])
// Set B is now all the subsets of A without the first element
// We now find all the subsets of A containing the first element by finding
// tacking on the first element to the sets inside B
Set C = {}
For each set D in B
add {A[0], D} to C
return B added to C
}
В python должна помочь стандартная библиотека " tertools ". Взгляни на combinations()
функции, может быть, другие в зависимости от того, что именно вы хотите. Вы хотите, чтобы повторы были разрешены? Важен ли порядок?