R , 84 77 bytes
-7 bytes graças a mb7744
unique(lapply(x<-sort(table(scan()),T),function(y)as.double(names(x[x==y]))))
Lê de stdin; retorna uma lista com subvetores de números inteiros em ordem crescente. Se pudéssemos retornar strings em vez de ints, eu poderia eliminar 11 bytes (removendo a chamada para as.double
), mas é isso. A table
função de R faz o trabalho pesado aqui, contando as ocorrências de cada membro de sua entrada; depois os agrega por count ( names
). Claro, isso é uma string, então temos que coagi-la a um número inteiro / duplo.
Giuseppe
fonte
fonte
lapply
, mas pelo menos nesse caso, posso atribuir uma variável curta alapply
. Eu não consigo atribuir uma variável para a funçãofunction
...Respostas:
JavaScript (ES6),
100989693 bytesEconomizei 2 bytes graças a @Neil (além disso, ele corrigiu um erro de borda no meu código). Economizou mais 3 bytes graças a @TomasLangkaas.
Casos de teste
fonte
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])
para.filter(a=>''+a)
..filter(a=>a+a)
forneceria o byte extra.V ,
60, 54 bytesExperimente online!
Hexdump:
Por mais que eu goste de V, tenho certeza de que esse é o pior idioma possível para a tarefa. Especialmente considerando que ele não tem suporte para listas e basicamente não suporta números. Apenas manipulação de cordas.
fonte
C #, 119 bytes
Apenas uma rápida facada:
fonte
System.Func<int[],int[][]>F=
e à direita;
. Isso não faz parte da contagem de bytes para esses tipos de lambdas.R , 66 bytes
Experimente online!
Se na saída os números inteiros podem estar no formato de string, pode cair para 48 bytes (como mencionado na resposta de @ Giuseppe).
Ungolfed:
fonte
as.double
é mais curto em um byte e deve funcionar da mesma forma queas.integer
PowerShell,
77,70 bytesNB: Para verificar se esses resultados estão agrupados corretamente (como visualmente não há delineamento entre o conteúdo de cada matriz), convém anexar
| write-host
ao final da linha acima.Agradecimentos
Graças a:
Anterior
77 bytes
fonte
,()
agrupamento for (uma vez que a saída estava apenas aparecendo como uma matriz contínua). Isso é muito mais golfe do que minha tentativa original; otimo trabalho!Groovy, 71 bytes
Na verdade, eu só aprendi sobre o groupBy depois de criar isso. Eu não sabia que colecionar não era minha única escolha.
fonte
Ruby , 62 bytes
Experimente online!
Tem que haver uma maneira mais curta de fazer isso.
fonte