TL; DR
- Rekam (kiri-kanan) / panjang untuk setiap pasangan elemen berurutan. Jika 0 atau negatif, jangan rekam.
- Setelah ini selesai, lakukan tindakan ini. Jangan perbarui quotients:
- Increment right dan decrement left for (0, .3)
- Hapus dari array di> =. 3
- Cetak kedua elemen untuk> .5
- Cetak array yang tersisa. Minta beberapa pemisah untuk dieksekusi dan tersisa.
Sekarang, ke tantangan ...
Ini adalah algoritma sorting yang memiliki kasus terburuk MULIA LINEAR WAKTU , dan di mana saja yang berani menentang nya WISDOM INFINITE akan segera DILAKSANAKAN karena adanya kejahatan keji TINGGI pengkhianatan .
The FEARLESS LEADER telah menugasi Anda dengan MISI KEHORMATAN untuk menulis program atau fungsi yang menggunakan array bilangan bulat dan mengurutkannya menggunakan algoritma pengurutan berikut:
- Iterasi melalui array Anda, mencerahkan setiap elemen dengan kehadiran GLORIOUS dari LEADER KETAKUTANNYA .
- Mintalah POLISI RAHASIA Anda memeriksa setiap pasangan dari 2 elemen berturut-turut untuk memastikan mereka BENAR-BENAR LOYAL KEPADA BANGSA MEREKA . Jika mereka tidak dipesan dengan benar, catat perbedaan antara angka-angka, dibagi dengan panjang array. Ini adalah perbedaan pendapat mereka.
- Pada akhir TOUR GLORIOUS Anda , buka daftar dan HUKUMAN PENGHARGAAN ILAHI PEMIMPIN YANG TAK TERLIHAT pada semua PENYANGKAL TREASONOUS sebagai berikut:
- Untuk hasil bagi perbedaan pendapat kurang dari 0,3, mereka hanya perlu
cuci otakpengingat KEMULIAAN PEMIMPIN YANG TAK TERBATAS . Kurangi elemen kiri dan tambah elemen kanan. Jangan mengubah negosiasi perbedaan pendapat. - Untuk hasil bagi yang berbeda dari 0,3-.5 (inklusif), mereka adalah TRAITOR dan harus dikirim ke PRISON CAMPS . Hapus dari array.
- Untuk hasil bagi perbedaan pendapat lebih besar dari 0,5, mereka ODUMUS REBEL SCUM . Mereka harus DILAKSANAKAN SECARA PUBLIK sebagai contoh untuk HERETIK BERREASI lainnya yang mereka mungkin telah bersekutu. Hapus dari array dan kirim ke sumber berita nasional, The STDOUT Times.
- Untuk hasil bagi perbedaan pendapat kurang dari 0,3, mereka hanya perlu
- Array Anda sekarang SEPENUHNYA DAN SELAMANYA DIurutkan . Kirim ke The STDOUT Times sehingga mereka dapat menyanyikan VICTORY GLORIOUS Anda .
Seperti MELIHAT WAJIB kepada mereka yang terlalu bodoh untuk memahami KEMULIAAN INFINITE dari algoritma ini, ini akan digunakan untuk mengurutkan array berikut:
[1,8,6,0,4,9,3,5,7,2]
- 1 dan 8 dipesan dengan benar.
- 8 dan 6 tidak dipesan dengan benar, sehingga hasil bagi yang berbeda dari .2 dicatat untuk keduanya.
- 6 dan 0 adalah sepasang pembangkang lainnya. Hasil bagi perbedaan ini adalah 0,6.
- 0 dan 4 dipesan dengan benar.
- 4 dan 9 dipesan dengan benar.
- 9 dan 3 memiliki hasil bagi berbeda .6.
- 3 dan 5 dipesan dengan benar.
- 5 dan 7 dipesan dengan benar.
- 7 dan 2 memiliki hasil bagi berbeda .5.
Jadi, Anda mengambil tindakan berikut atas nama LEADER KETAKUTAN :
- Penurunan 8 hingga 7, dan kenaikan 6 hingga 7.
- Hapus 0 dan 7 baru, dan LAKUKAN EXECUTE THEM .
- Ikuti dengan 9 dan 3.
- Bawa 7 dan 2 yang asli ke kamp pendidikan ulang dan pindahkan.
Ini harus menjadi siaran pers Anda, dilakukan dalam STDOUT atau apa pun yang nyaman:
Executions: 7, 0, 9, 3
[1, 7, 4, 5]
Seperti yang Anda lihat, array yang dihasilkan SEPENUHNYA DAN SELAMANYA DIHASILKAN . Mencoba menyarankan bahwa itu tidak diurutkan merupakan TREASON TINGGI .
Sekarang, sebagai DEMONSTRASI MULIA dari RESOURCES tak berujung yang diberikan oleh LEADER FEARLESS , ia telah menyediakan nya WISDOM INFINITE dalam menghasilkan kasus uji:
import random
len=random.randint(2,20)
arr=list(range(len))
random.shuffle(arr)
print(arr)
dissent=[(arr[i]-arr[i+1])/len for i in range(len-1)]
dissent.append(0) # Barrier between front and back of the array.
executions=[]
for i in range(len-1):
if dissent[i] > 0:
if dissent[i] < 0.3:
arr[i] -= 1
arr[i+1] += 1
elif dissent[i] > 0.5:
if dissent[i-1] <= 0.5:
executions.append(arr[i])
executions.append(arr[i+1])
print([arr[i] for i in range(len) if dissent[i] < 0.3 and dissent[i-1] < 0.3])
print(executions)
Cobalah Online - tekan tombol run untuk menggunakan, jika tidak, Anda hanya mendapatkan apa yang orang terakhir dapatkan.
Untuk kepentingan tatapan kosong, LEADER KETAKUTAN juga memberikan contoh kasus tepi:
Input Output
3,2,1,4,4,1,2,3,4,5 2,2,2,4,2,3,4,5
(Tidak ada eksekusi dalam contoh ini.)
Terakhir, Anda harus memperlakukan byte dalam program Anda sebagai pendukung utama dan meminimalkannya. Program terpendek dalam byte akan memenangkan FAVOR ETERNAL OF THE FEARLESS LEADER .
Terima kasih
Konsep untuk ini terinspirasi oleh Lazy Drop Sort , dan gaya penulisan yang digunakan sebagian besar diambil dari Kediktatoran Psikotik — kunjungi mereka jika Anda menikmati aspek parodi dari ini.
Kredit tambahan diberikan kepada semua orang yang memilih ini di Sandbox sejak awal. +8 yang diperolehnya adalah motivasi saya untuk menulis ulang untuk menghindari duplikasi.
Jawaban:
Ruby ,
146135 byteCobalah online!
sumber