2011-05-03 63 views
10

Duplicar posibles:
Generating all permutations of a given stringGenerar todas las permutaciones en Java

Tengo una matriz de longitud arbitraria en Java, y me gustaría generar todas las posibles permutaciones de ellos. La manera fácil de hacer esto para una longitud fija sería una serie de bucles for anidados, pero como la matriz es de longitud desconocida, no es una opción aquí. ¿Hay alguna manera directa de lograr esto en Java?

+2

simplemente escriba '[java] permutation' en el cuadro de búsqueda ... – MByD

+4

Si se trata de una matriz, puede usar array.length; si es una lista, puede usar list.size(). No entiendo "no es una opción". – duffymo

+2

@duffymo: Me gustaría verte generar los bucles foráneos anidados una vez que obtienes la longitud de la matriz en el código ... –

Respuesta

3

Utilice una función recursiva, en lugar de bucles. Cada vez que llame al método debería estar en una porción más pequeña de la matriz y detenerse cuando length = 0. Esto link debería ayudarlo a diseñar su función.

0

Puede o no ser óptimo en lo que respecta al rendimiento, pero si está buscando una forma de hacerlo escribiendo relativamente poco código y teniendolo claro y fácil de mantener, quiere un método recursivo en lugar de anidado bucles.

Cuestiones relacionadas