Anekdot ini berisi pertukaran yang menarik berikut:
"Baik, Fred," potong Avi. "Lalu bagaimana kamu akan mengubah ini untuk menghindari duplikat entri?"
"Oh, ubah saja yang di sana menjadi negatif."
Meskipun klaim ini tidak akurat dalam konteks, saya bertanya-tanya apakah ada beberapa kode yang masuk akal yang masuk akal.
Tantangan Anda adalah menulis kode (program, fungsi, apa pun) yang sesuai dengan kriteria ini:
- Menggabungkan dua daftar input menjadi satu, menjaga duplikat. [sunting: Anda dapat secara opsional menganggap bahwa mereka adalah bilangan bulat, dan / atau daftar itu sendiri unik. Anda tidak dapat menganggap bilangan bulat itu positif (satu jawaban yang melakukannya adalah kakek).]
- "1" literal muncul di suatu tempat dalam kode. Jika Anda mengubahnya ke literal "-1", kode melakukan hal yang sama tetapi menghapus duplikat.
- Kode tidak hanya bercabang dari 1 / -1. Kami tidak mencari
if (1 < 1) removeDuplicates()
atau[do_nothing, merge_with_dups, merge_without_dups][1].call()
, misalnya.
Input dan output dapat dalam format apa pun yang Anda pilih. Salah satu contohnya mungkin
[1,2],[2,3]->[1,2,2,3]
sebelum tanda berubah, dan [1,2,3]
setelah.
Ini adalah kontes popularitas. Ini bukan kode golf , kecuali jika Anda ingin pamer. Saya akan menerima jawaban dengan suara tertinggi dalam waktu sekitar dua minggu.
popularity-contest
histokrat
sumber
sumber
-1
kasus ini?Jawaban:
JavaScript
Ambil algoritma konvensional dan tulis dengan bug:
Kode ini mengandung tepat satu literal
1
. Jika diubah menjadi-1
, maka duplikat akan dihapus. Ini dapat digunakan pada nilai yang sebanding.sumber
APL 22/23
Meminta input layar melalui ← ⎕ dan mengembalikan daftar gabungan yang dipesan dengan atau, jika yang memimpin ditetapkan negatif, tanpa duplikat.
Penghitung byte harap dicatat bahwa karakter APL byte tunggal telah dikonversi ke UTF8 untuk ditampilkan dengan benar di situs ini.
sumber
k (18)
Harus bekerja untuk semua jenis daftar yang valid
Contoh:
sumber
Python
sumber
Pesta
Dalam semangat konteks, program ini menghapus duplikat jika Anda menambahkan tanda minus sebelum huruf kecil
l
digrep
telepon. Jika Anda menambahkan tanda minus sebelum huruf besarI
pada baris sebelumnya, atau sebelum digit1
pada baris berikutnya, program tidak berperilaku berbeda.File input berisi satu bilangan bulat per baris (ini adalah representasi daftar yang biasa sebagai file teks). Mereka harus disahkan sebagai dua argumen. Daftar yang dihasilkan ditulis ke standar ouptut.
Jangan ragu untuk menggunakan program ini sebagai contoh kode terbaik Anda dalam sebuah wawancara. Yang saya minta adalah Anda tidak mengatakan bahwa itu adalah kode terbaik saya.
sumber
Tcl
Dalam semangat kutipan
Jika itu adalah duplikat, gandakan dengan (-) 1, setelah itu saring keluar nilai negatif.
sumber
Saya pemula dalam PHP, saya tidak tahu apakah itu benar
sumber