R , 84 77 byte
-7 byte berkat mb7744
unique(lapply(x<-sort(table(scan()),T),function(y)as.double(names(x[x==y]))))
Baca dari stdin; mengembalikan daftar dengan subvektor bilangan bulat dalam urutan yang meningkat. Jika kita bisa mengembalikan string alih-alih int, maka saya bisa menjatuhkan 11 byte (menghapus panggilan ke as.double
), tapi hanya itu. table
Fungsi R melakukan pengangkatan berat di sini, menghitung kemunculan setiap anggota dari inputnya; lalu menggabungkannya dengan hitungan ( names
). Tentu saja, itu sebuah string, jadi kita harus memaksanya ke integer / double.
Giuseppe
sumber
sumber
lapply
, tetapi setidaknya dalam kasus itu saya dapat menetapkan variabel pendeklapply
. Sepertinya saya tidak dapat menetapkan variabel ke fungsifunction
...Jawaban:
JavaScript (ES6),
100989693 byteDisimpan 2 byte berkat @Neil (ditambah lagi ia memperbaiki bug kasus tepi dalam kode saya). Disimpan 3 byte lebih banyak berkat @TomasLangkaas.
Uji kasus
sumber
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])
ke.filter(a=>''+a)
..filter(a=>a+a)
akan memberikan byte ekstra.V ,
60, 54 byteCobalah online!
Hexdump:
Seperti saya suka V, saya cukup yakin ini adalah bahasa yang paling buruk untuk tugas ini. Terutama mengingat tidak memiliki dukungan untuk daftar, dan pada dasarnya tidak ada dukungan untuk angka. Hanya manipulasi string.
sumber
C #, 119 byte
Cukup menusuknya:
sumber
System.Func<int[],int[][]>F=
dan mengekarnya;
. Itu bukan bagian dari byte-count untuk lambda semacam ini.R , 66 byte
Cobalah online!
Jika dalam output bilangan bulat mungkin dalam format string, dapat turun menjadi 48 byte (seperti yang disebutkan dalam jawaban @ Giuseppe).
Tidak Disatukan:
sumber
as.double
lebih pendek satu byte, dan seharusnya bekerja sama denganas.integer
PowerShell,
77,70 byteNB: Untuk melihat bahwa hasil ini dikelompokkan dengan benar (karena secara visual tidak ada deliniasi antara konten setiap array), Anda mungkin ingin menambahkan
| write-host
ke akhir baris di atas.Ucapan Terima Kasih
Terimakasih untuk:
Sebelumnya
77 byte
sumber
,()
untuk pengelompokan (karena output hanya ditampilkan sebagai satu array kontinu). Ini jauh lebih golf daripada upaya awal saya; kerja luar biasa!Groovy, 71 byte
Saya sebenarnya baru belajar tentang groupBy setelah membuat ini. Saya tidak tahu mengoleksi bukan satu-satunya pilihan saya.
sumber
Ruby , 62 byte
Cobalah online!
Harus ada cara yang lebih singkat untuk melakukan ini.
sumber