Câu hỏi này dựa trên một câu hỏi tôi đã hỏi bằng tiếng Tây Ban Nha . Vâng, tôi đã yêu cầu một thuật toán bằng tiếng Tây Ban Nha. :)
Ở Tây Ban Nha, biển số xe hiện tại có mẫu này:
1234 XYZ
Trong đó XYZ là ba phụ âm được lấy từ bộ phụ âm Tây Ban Nha đầy đủ (ngoại trừ 'Ñ', tôi nghĩ vậy).
Đôi khi, khi đi du lịch cùng vợ, chúng tôi thường chơi một trò chơi. Khi chúng tôi nhìn thấy một tấm giấy phép, chúng tôi lấy ba phụ âm của nó và cố gắng tạo thành một từ có chứa ba phụ âm đó, xuất hiện theo thứ tự như trong biển số xe. Ví dụ (bằng tiếng Tây Ban Nha):
BCD
BoCaDo (valid)
CaBezaDa (not valid)
FTL
FaTaL (valid)
FLeTar (not valid)
FTR
FleTaR (valid, wins)
caFeTeRa (valid, loses)
Người chiến thắng là người sử dụng số lượng ký tự ít nhất, như bạn có thể thấy trong ví dụ trước.
Các thách thức
Viết chương trình hoặc hàm ngắn nhất nhận danh sách các từ và một bộ ba phụ âm và tìm từ ngắn nhất trong danh sách chứa ba phụ âm theo cùng một thứ tự. Đối với mục đích của trò chơi này, trường hợp không quan trọng.
- Đầu vào cho danh sách từ (tham số đầu tiên) sẽ là một mảng của
string
loại ngôn ngữ của bạn . Tham số thứ hai (ba phụ âm) sẽ là một tham số khácstring
. Nếu ngôn ngữ của bạn tốt hơn, hãy xem xétstring
với ba phụ âm là mục cuối cùng của toàn bộ danh sách các tham số. Đầu ra sẽ là một cái khácstring
. - Các từ trong danh sách từ sẽ không được phát minh hoặc từ vô hạn, chúng sẽ xuất hiện trong bất kỳ từ điển chuẩn nào. Nếu bạn cần một giới hạn, giả sử không có từ nào trong danh sách từ sẽ dài hơn 50 ký tự.
- Nếu có một vài từ có cùng chiều dài có thể là câu trả lời hợp lệ, bạn có thể trả lại bất kỳ từ nào trong số chúng. Chỉ cần đảm bảo bạn trả về chỉ một từ hoặc một chuỗi trống nếu không có từ nào khớp với mẫu của ba phụ âm.
- Bạn có thể lặp lại các phụ âm trong nhóm, vì vậy đầu vào hợp lệ cho ba phụ âm là cả
FLR
vàGGG
. - Các phụ âm Tây Ban Nha hoàn toàn giống với tiếng Anh, với việc thêm "". Các nguyên âm giống nhau với sự kết hợp của các nguyên âm nhấn mạnh: "áéíóúü". Sẽ không có bất kỳ loại nhãn hiệu nào khác như "-" hoặc "'".
- Bạn có thể cho rằng trường hợp sẽ luôn giống nhau trong cả danh sách từ và ba phụ âm.
Nếu bạn muốn kiểm tra thuật toán của mình bằng một bộ sưu tập các từ tiếng Tây Ban Nha thực sự, bạn có thể tải xuống một tệp (15,9 MB) từ Dropbox với hơn một triệu từ.
Các trường hợp thử nghiệm
Input: 'psr', {'hola' 'repasar' 'pasarais' 'de' 'caída' 'pequeñísimo' 'agüeros'}
Output: 'repasar'
Input: 'dsd', {'dedos' 'deseado' 'desde' 'sedado'}
Output: 'desde'
Input: 'hst', {'hastío' 'chest'}
Output: 'chest'
Đây là môn đánh gôn , vì vậy có thể chương trình ngắn nhất giúp tôi luôn đánh bại vợ mình! :)