R , 84 77 bytes
-7 bytes gracias a mb7744
unique(lapply(x<-sort(table(scan()),T),function(y)as.double(names(x[x==y]))))
Lee de stdin; devuelve una lista con subvectores de enteros en orden creciente. Si pudiéramos devolver cadenas en lugar de ints, podría eliminar 11 bytes (eliminando la llamada a as.double
), pero eso es todo. La table
función de R hace el trabajo pesado aquí, contando las ocurrencias de cada miembro de su entrada; luego los agrega por count ( names
). Por supuesto, es una cadena, por lo que tenemos que obligarla a un entero / doble.
Giuseppe
fuente
fuente
lapply
, pero al menos en ese caso puedo asignar una variable corta alapply
. Parece que no puedo asignar una variable a la funciónfunction
...Respuestas:
JavaScript (ES6),
100989693 bytesAhorré 2 bytes gracias a @Neil (además corrigió un error de caso de borde en mi código). Ahorré 3 bytes más gracias a @TomasLangkaas.
Casos de prueba
fuente
a=>a.sort().map((_,n)=>a.filter((v,i)=>i-a.indexOf(v)==n&v!=a[i+1])).filter(a=>1/a[0]).reverse()
..filter(a=>1/a[0])
a.filter(a=>''+a)
..filter(a=>a+a)
proporcionaría el byte adicional.V ,
60, 54 bytesPruébalo en línea!
Hexdump:
Por mucho que amo a V, estoy bastante seguro de que este es el peor lenguaje posible para la tarea. Especialmente considerando que no tiene soporte para listas, y básicamente no tiene soporte para números. Solo manipulación de cuerdas.
fuente
C #, 119 bytes
Solo una puñalada rápida:
fuente
System.Func<int[],int[][]>F=
y el final;
. Eso no es parte del conteo de bytes para este tipo de lambdas.R , 66 bytes
Pruébalo en línea!
Si en la salida los enteros pueden estar en formato de cadena, pueden caer a 48 bytes (como se menciona en la respuesta de @ Giuseppe).
Sin golf:
fuente
as.double
es más corto en un byte, y debería funcionar igual queas.integer
Potencia Shell,
77,70 bytesNB: Para ver que estos resultados están agrupados correctamente (ya que visualmente no hay delincuencia entre los contenidos de cada matriz), puede agregar
| write-host
al final de la línea anterior.Expresiones de gratitud
Gracias a:
Anterior
77 bytes
fuente
,()
para la agrupación (ya que la salida solo se mostraba como una matriz continua). Esto es mucho más golfístico que mi intento original; ¡impresionante trabajo!Groovy, 71 bytes
De hecho, acabo de enterarme de groupBy después de crear esto. No sabía que cobrar no era mi única opción.
fuente
Ruby , 62 bytes
Pruébalo en línea!
Tiene que haber una forma más corta de hacer esto.
fuente