Cita:
Iniciado por Koan Ya digo que esto es un pequeño ejemplo y se puede conseguir fácilmente con arreglos. Pero imagina que las combinaciones fueran 1000, 5000 o mas. No es viable tener un arreglo tan grande.
Eso es porque todavía mantienes un enfoque de todo en un arreglo.
Lo que yo haría:
1.
Obtener el numero de combinaciones en un arreglo de longuitud n (esto es sencillo y rápido).
2. Generar números aleatorios entre 1 y nCr (esto también es sencillo y rápido)
3.
Para cada uno de esos números aleatorios obtener la n-esima combinación (esto también es -wait for it- sencillo y rápido).