Program Anda harus mengambil array sebagai input.
Array:
- Akan selalu 1 dimensi
- Hanya akan berisi bilangan bulat
- Bisa kosong
Program harus membalikkan array, dan kemudian menambahkan elemen ke aslinya misalnya:
Memasukkan: [1, 2, 3]
Asli: [1, 2, 3]
Terbalik: [3, 2, 1]
[1, 2, 3]
+ + +
[3, 2, 1]
[1+3, 2+2, 3+1]
Keluaran: [4, 4, 4]
Kasus uji:
#In #Out
[8, 92], [100, 100]
[1, 2, 3], [4, 4, 4]
[5, 24, 85, 6], [11, 109, 109, 11]
[], []
[999], [1998]
Ini adalah kode-golf , kode terpendek (dalam byte) menang!
code-golf
array-manipulation
Noah Cristino
sumber
sumber
Jawaban:
Haskell , 20 byte
5 byte simpan dengan mengubah ke titik bebas seperti yang disarankan oleh nimi
Cobalah online!
sumber
zipWith(+)=<<reverse
.main
untuk mengkompilasi.=<<
dari fungsi monad yang didefinisikan sebagai:(=<<) f g x = f (g x) x
. Di sini, ditulis dalam infiks:(zipWith(+) =<< reverse) x
->zipWith(+) (reverse x) x
.Jelly , 2 byte
Cobalah online!
atau
Cobalah online! (terima kasih @Mr. Xcoder untuk program kedua)
Penjelasan, meskipun cukup jelas
Untuk array kosong
[]
, ini tidak menghasilkan apa-apa. Itu betul. Representasi Jelly dari daftar kosong sama sekali bukan apa-apa. Perhatikan bahwa representasi Jelly dari daftar dengan elemen tunggal hanyalah elemen itu sendiri. TambahkanŒṘ
kode untuk melihat representasi internal Python dari output.sumber
[9]
atasnya menghasilkan 18 bukannya[18]
, dan 2) ketika diuji[]
tidak menghasilkan apa-apa.+Ṛ
bekerja juga.JavaScript (ES6), 27 byte
Tampilkan cuplikan kode
sumber
05AB1E , 2 byte
Cobalah online!
sumber
R+
juga berfungsi untuk 2 byte.Python 2, 32 byte
Solusi alternatif tanpa
zip
(35 byte):Cobalah online!
sumber
Python 2 , 40 byte
Cobalah online!
Yang lain, jawaban Python yang lebih pendek menggantikan pemahaman daftar
map
. Seandainya saya berpikir untuk melakukannya lebih cepat. ; -;sumber
Japt , 7 byte
Cobalah online! dengan
-Q
bendera untuk memformat larik keluaran.Penjelasan
Tersirat:
U
= array inputPetakan input dengan fungsi berikut ...
Nilai, ditambah nilai dalam array input di indeks ...
-(index+1)
, yang mendapat elemen dari akhir array.sumber
Ruby , 25 byte
Cobalah online!
sumber
Mathematica, 12 byte
Cobalah online!
sumber
Python 2 ,
3332 byte-1 byte terima kasih kepada @xnor
Cobalah online!
sumber
l*1
menghemat satu byte.l*1
, elaborasi apa punl*1
membuat salinan daftarl
. Jika kita tidak akan membuat salinan,pop()
akan menghapus elemen dari daftar sebelum diakses di loop for.Brachylog , 6 byte
Cobalah online!
sumber
C # (.NET Core) ,
6160 byte-1 byte terima kasih kepada TheLethalCoder
Cobalah online!
Hitungan byte juga mencakup:
Untuk penjelasan - fungsi Zip di LINQ mengambil dua koleksi dan mengeksekusi fungsi yang diberikan untuk semua elemen yang sesuai, yaitu. kedua elemen pertama bersama-sama, kedua elemen kedua dll.
sumber
Zip
panggilan ke sehingga tidak perluToArray()
. Pekerjaan yang baik!CJam , 7 byte
Cobalah online!
sumber
""
untuk[]
, itu aneh. Bukan salahmu hanya bahasa.[]
.[]
, dan[4]
, jadi tidak masalah.APL (Dyalog) , 3 byte
Cobalah online!
Penjelasan
sumber
⌽+⊢
tanpa input⍬
, vektor kosong. Tanpa argumen, ia mencetak kereta dengan sendirinyaJ, 3 byte
Balikkan, jumlah.
Cobalah online!
sumber
R ,
1716 byte-1 byte berkat djhurio
Baca dari stdin; mengembalikan vektor;
numeric(0)
adalah vektor numerik panjang nol untuk daftar kosong.Cobalah online!
sumber
numeric(0)
numeric(0)
dalam R.rev(l<-scan())+l
, 16 byte?pryr::f(rev(x)+x)
Clojure,
2017 byte3 byte disimpan berkat @MattPutnam
Tampaknya cukup kompetitif dengan bahasa non-golf.
Lihat online
sumber
rseq
sebagai gantireverse
.Pyth, 3 byte
Coba di sini.
sumber
sV_
PowerShell , 26 byte
Cobalah online!
Mengambil input sebagai argumen baris perintah.
sumber
C, 49 byte
sumber
a,n,b
seharusnya begitua,b,n
?b
bukan parameter untuk fungsi, hanya definisi tambahan yang dimasukkan ke sana untuk alasan bermain golf.a
harus menjadi pointer ke integer, dann
harus berapa banyak integer yang ada dalam array.PowerShell ,
4032 byteCobalah online!
Mengambil input sebagai argumen baris perintah individual, yang diizinkan sebagai salah satu format daftar asli untuk PowerShell. Kemudian loop melalui masing-masing elemen (yaitu, cara yang lebih pendek dari pengulangan melalui indeks), menambahkan elemen yang menghitung dari belakang (
-1
diindeks) ke elemen saat ini (0
diindeks, maka penurunan-1
). Mereka dibiarkan di jalur pipa dan hasilnya implisit.Disimpan 8 byte berkat @briantist
sumber
Write-Output
terjadi, menempatkan sesuatu pada stdout satu item per baris. Misalnya, Anda dapat melihat di sini bahwa, ketika ditangkap, objek tersebut memang merupakanarray
tipe.param
dan kemudian mengganti1..$n
dengan1..($n=$args)
?Java 8,
61575653 byte-1 byte dan diperbaiki bug berkat @Nevay .
-3 byte terima kasih kepada @ OliverGrégoire .
(Itu adalah pelabuhan (dan golfed oleh
48 byte) dari @jkelm 's C # jawaban , tapi sekarang itu solusi yang lebih pendek yang berbeda berkat @ OliverGrégoire .)Penjelasan:
Coba di sini.
Metode memodifikasi input-array untuk menyimpan byte, jadi tidak perlu untuk tipe-kembali.
sumber
a->{for(int i=0,l=a.length;i<l/2;a[i]=a[l+~i]+=a[i++]);}
.1,2,3
(4,2,4
bukan ganti4,4,4
), loop harus berjalan selama2*i<l
, tidaki<l/2
.l-i-1
, hanya tidak bisa memunculkannya ..a->{for(int l=0,r=a.length;l<r;a[l]=a[--r]+=a[l++]);}
.l
danr
masuk akal untuk implementasi Anda, jadi saya telah menggunakan itu juga (dan menambahkan penjelasan).Ohm , 3 byte
Cobalah online!
sumber
[]
itu tidak menghasilkan apa-apa tapi itu hanya bahasa.Sebenarnya , 4 byte
Cobalah online!
sumber
perbaikan apa pun , 3 byte
Versi di TryItOnline! adalah versi usang dari perbaikan apa pun, yang berisi beberapa kesalahan fatal seperti tidak dapat menambahkan daftar karena kesalahan ketik dalam kode sumber. Gunakan kode pada GitHub sebagai gantinya.
sumber
Neim , 2 byte
Ini adalah fungsi yang mengambil input di atas tumpukan dan output di atas tumpukan.
Cobalah online!
sumber
Röda , 22 byte
Cobalah online!
Ini adalah fungsi anonim yang mengambil larik dan mengembalikan aliran nilai, yang dihasilkan oleh tautan TIO di atas baris baru.
Penjelasan
sumber
JavaScript (ES6),
3433 byteMenyimpan satu byte berkat @ETHproductions.
Tampilkan cuplikan kode
sumber
-i-1
ke+~i
.MATL , 3 byte
Cobalah online!
Sangat mudah.
t
duplikat input.P
membalik (membalikkan) itu, dan+
menambahkan elemen array dua bijaksana.sumber
PHP, 59 byte
mengambil input dari argumen baris perintah; output kosong untuk input kosong
Menghasilkan peringatan di PHP> 7.0. Versi ini tidak (60 byte):
sumber