The Hamming jarak antara dua string dengan panjang yang sama adalah jumlah posisi di mana yang sesuai simbol yang berbeda.
Membiarkan Pmenjadi string biner panjang ndan Tmenjadi string biner panjang 2n-1. Kita dapat menghitung njarak Hamming antara Pdan setiap nsubstring Tdengan panjang dari kiri ke kanan dan menempatkannya ke dalam array (atau daftar).
Contoh urutan jarak Hamming
Biarkan P = 101dan T = 01100. Urutan jarak Hamming yang Anda dapatkan dari pasangan ini adalah 2,2,1.
Tugas
Untuk meningkatkan nmulai dari n=1, pertimbangkan semua pasangan yang mungkin dari string biner Ppanjang ndan Tpanjang 2n-1. Ada 2**(n+2n-1)pasangan seperti itu dan karenanya banyak urutan jarak Hamming. Namun banyak dari sekuens tersebut akan identik. Tugasnya adalah menemukan berapa banyak yang berbeda untuk masing-masing n.
Kode Anda harus menampilkan satu nomor per nilai n.
Skor
Skor Anda adalah tertinggi yang dicapai nkode Anda di mesin saya dalam 5 menit. Waktunya adalah total waktu berjalan, bukan hanya waktu untuk itu n.
Yang menang
Orang dengan skor tertinggi menang. Jika dua orang atau lebih berakhir dengan skor yang sama maka itu adalah jawaban pertama yang menang.
Contoh jawaban
Untuk ndari 1ke 8jawaban optimal adalah 2, 9, 48, 297, 2040, 15425, 125232, 1070553.
Bahasa dan perpustakaan
Anda dapat menggunakan bahasa dan perpustakaan yang tersedia yang Anda suka. Jika memungkinkan, alangkah baiknya untuk dapat menjalankan kode Anda, jadi harap sertakan penjelasan lengkap tentang cara menjalankan / mengkompilasi kode Anda di Linux jika memungkinkan.
Mesin Saya Pengaturan waktu akan dijalankan pada mesin 64-bit saya. Ini adalah instalasi ubuntu standar dengan RAM 8GB, Prosesor Delapan-Core AMD FX-8350 dan Radeon HD 4250. Ini juga berarti saya harus dapat menjalankan kode Anda.
Memimpin jawaban
- 11 dalam C ++ oleh feersum. 25 detik.
- 11 dalam C ++ oleh Andrew Epstein. 176 detik.
- 10 di Javascript oleh Neil. 54 detik.
- 9 di Haskell oleh nimi. 4 menit dan 59 detik.
- 8 di Javascript oleh fəˈnɛtɪk. 10 detik.
fastest-codemenyisakan lebih banyak ruang untuk optimasi melalui optimasi level kode dan algoritma yang baik. Jadi saya pikir itu faster-codelebih baik daripada faster-algorithm.