Digamos que tengo 2 grupos de números:¿Cómo crear productos cartesianos sobre grupos arbitrarios de números en Java?
{1, 2, 3},
{4, 5}
Me gustaría crear un algoritmo (en Java) que da salida a los siguientes 6 combinaciones:
1,4
1,5
2,4
2,5
3,4
3,5
No puede haber un número arbitrario de grupos y un número arbitrario de miembros dentro de cada grupo. Entonces, en el ejemplo anterior, hay 2 grupos, el primer grupo tiene 3 miembros y el segundo grupo tiene 2 miembros. Otro ejemplo es el siguiente (3 grupos, 3 miembros en primeros grupos y 2 miembros en los grupos segundo y tercero):
{1, 2, 3},
{4, 5},
{6, 7}
lo cual produciría los siguientes 12 combinaciones:
1,4,6
1,4,7
1,5,6
1,5,7
2,4,6
2,4,7
2,5,6
2,5,7
3,4,6
3,4,7
3,5,6
3,5,7
¿Cómo puedo hacer esto en Java? Estoy tratando de usar la recursividad y ya he visto un similar question, pero todavía me estoy quedando corto. ¡Gracias por la ayuda! (P.S. esto no es para una tarea)
Está buscando un producto cartesiano en java, posible duplicado de [producto cartesiano de conjuntos arbitrarios en Java] (http://stackoverflow.com/questions/714108/cartesian-product-of) -arbitrary-sets-in-java) –