Para este desafío, hará una función (su función puede ser un programa completo) que toma una lista como entrada y devuelve una permutación de esa lista. Su función debe obedecer los siguientes requisitos.
Debe ser determinista.
Al componer su función consigo mismo un número variable de veces debería ser capaz de obtener una lista de cualquiera de sus permutaciones.
Esta es una pregunta de código de golf, por lo que las respuestas se puntuarán en bytes, con menos bytes mejor.
Reglas adicionales
Usted puede tomar cualquier tipo de lista, (
[Integer]
,[String]
,[[Integer]]
), siempre y cuando- Puede estar no vacío
- Puede contener objetos distintos con al menos 16 valores posibles. (No puede usar un Haskell
[()]
y afirmar que su función esid
) - Puede contener objetos duplicados (sin conjuntos)
Puede escribir un programa o una función, pero debe obedecer el estándar IO.
next_permutation
función.
S_n
es solo cíclico paran<3