Word changer adalah gim di mana Anda mencoba mengubah satu kata menjadi yang lain melalui pengeditan karakter tunggal, dengan setiap langkah menjadi kata-katanya sendiri. Untuk tantangan ini, pengeditan dapat berupa penggantian, penyisipan, atau penghapusan. Misalnya, PEMENANG → PECUNDANG dapat dilakukan dengan rute ini (mungkin ada yang lain):
WINNER
DINNER
DINER
DINE
LINE
LONE
LOSE
LOSER
Dengan kata lain, Anda harus dapat mencapai satu kata dari yang lain hanya melalui kata-kata lain pada jarak Levenshtein 1 setiap kali.
Coding
Anda akan diberikan daftar kata dan dua kata dan Anda harus menampilkan rute yang valid dari satu kata ke kata lain jika ada rute atau nilai konstan yang berbeda atau perilaku yang konsisten jika tidak ada rute.
- Anda dapat mengasumsikan bahwa kata-kata input keduanya dalam daftar kata
- Daftar kata dapat diambil melalui format datar yang nyaman.
- Daftar, set, percobaan, string yang dipisahkan ruang, dan file yang dipisahkan baris semuanya valid (misalnya), tetapi grafik pra-komputasi dari kedekatan Levenshtein tidak.
- Rute output harus mencakup kedua kata input, tetapi yang dimulai dan berakhir tidak masalah.
- Jika tidak ada rute yang ditemukan, Anda dapat menampilkan konstanta tertentu, nilai falsy, daftar kosong, melemparkan pengecualian, keluar dengan kode bukan nol, atau perilaku lain yang terjadi dalam waktu yang terbatas.
- Rute tidak perlu optimal dan tidak ada persyaratan rute mana yang harus diambil
- Kompleksitas komputasi tidak menjadi masalah, namun program Anda harus dapat dibuktikan berakhir dalam waktu yang terbatas. (Bahkan jika itu akan melampaui kematian panas alam semesta)
- Anda dapat menganggap semua kata seluruhnya terdiri dari huruf dalam kasus yang sama
Contoh Kasus Uji
- CAT → DOG; [CAT, DOG, COG, COT, FROG, GROG, BOG]
- CAT, COT, COG, DOG
- MANDI → MANDI; [BATH, SHOWER, HATH, HAT, BAT, SAT, SAW, SOW, SHOW, CARA]
- Tidak Ditemukan Rute
- BREAK → FIX; [BREAK, FIX, BEAK, BREAD, BACA, BEAD, RED, BED, BAD, BID, FAD, FAX]
- BREAK, BREAD, BEAD, BAD, FAD, FAX, FIX
- BUILD → HANCURKAN; [BUILD, DESTROY, BUILT, GUILT, GUILD, GILD, GILL, BILL, DILL, FILL, DESTRUCT, STRUKTUR, KONSTRUKSI]
- Tidak Ditemukan Rute
- CARD → BOARD; [KARTU, DEWAN, BARD]
- KARTU, BARD, PAPAN
- DEMON → ANGEL; [DEMON, MALAIKAT]
- Tidak Ditemukan Rute
- TERAKHIR → MASA LALU; ]
- TERAKHIR, MASA LALU
- INSERT → DELETE; Daftar kata ini
- INSERT, INVERT, INVENT, INBENT, UNBENT, UNBEND, UNBIND, UNKING, UNKING, INKING, IRKING, DIRKING, DARKING, DARLING, ARLING, AILING, SIRING, SERING, SERINE, NERINE, NERITE, NERITE, CERATE, DERATE, DATE MENGHAPUS