Untuk tantangan ini, Anda perlu mengompres diff. Perbedaan adalah beberapa data yang mewakili perbedaan antara dua string. Untuk tantangan ini, Anda perlu menyediakan satu atau lebih program yang dapat:
- Input
A
danB
, dan output diff,C
- Input
A
danC
, dan outputB
- Input
B
danC
, dan outputA
Tujuannya adalah untuk membuat diff,, C
sekecil mungkin. Dif dapat berupa apa saja: string, angka, gumpalan data. Kami hanya peduli tentang ukuran (jumlah byte).
Saya memiliki 50 kasus uji yang dapat ditemukan di Github . Setiap test case terdiri dari dua URL yang dipisahkan oleh spasi yang mengarah ke 2 file yang perlu Anda bedakan. (Kasus uji ini berasal dari profil Github anggota PPCG. Terima kasih semua!)
Ketiga tugas di atas akan memakan waktu kurang dari satu menit untuk berjalan di komputer yang cukup bertenaga (untuk setiap kasus uji).
Skor Anda sama dengan ukuran total (dalam byte) dari semua 50 perbedaan, lebih rendah lebih baik. Perbedaan hardcoding di program Anda tidak diizinkan (saya berhak mengubah kasus uji untuk mencegah hardcoding). Builtin yang menghasilkan diff (seperti diffutils
) tidak diperbolehkan.
sumber
A
danB
Jawaban:
Apakah jawaban saya valid?
dapat diuji di: http://www.tutorialspoint.com/execute_tcl_online.php?PID=0Bw_CjBb95KQMNmd4QkxvQUFsTnM
sumber
diff
setara maupun yangpatch
setara). Jikastring compare
string berbeda, itu melanggar aturan "tidak ada builtin". Jika hanya membandingkan string (seperti namanya), itu tidak meninggalkan informasi yang cukup untuk membuat kembali tambalan.string compare
tidak menghasilkan info untuk membuat halaman, tetapi tidak ada tempat di pertanyaan yang menanyakannya.