Trong thử thách này về mã tiền tố , chúng tôi đã học được rằng các mã tiền tố có khả năng ghép nối duy nhất.
Điều đó có nghĩa là, chúng có thể được nối với nhau mà không có dấu phân tách và không có sự mơ hồ.
Ví dụ: vì [1,2,45] là mã tiền tố, tôi có thể nối chúng lại với nhau mà không cần dấu phân cách như vậy: 1245245112145 và sẽ không có sự mơ hồ.
Tuy nhiên điều ngược lại không phải lúc nào cũng đúng.
Ví dụ: [3,34] không phải là mã tiền tố. Tuy nhiên, tôi có thể làm tương tự: 3333434334333 và sẽ không có sự mơ hồ. Bạn sẽ chỉ cần một trình phân tích cú pháp thông minh hơn.
Tuy nhiên, [1,11] không thể kết hợp một cách duy nhất, bởi vì 1111 có thể được hiểu theo 5 cách.
Mục tiêu
Nhiệm vụ của bạn là viết một chương trình / hàm lấy danh sách các chuỗi (ASCII) làm đầu vào và xác định xem chúng có thể nối được với nhau không.
Chi tiết
Số lượng trùng lặp là sai.
Chấm điểm
Đây là môn đánh gôn . Giải pháp ngắn nhất trong byte thắng.
Tủ thử
Thật:
[12,21,112]
[12,112,1112]
[3,4,35]
[2,3,352]
Sai:
[1,1]
[1,2,112]
[1,23,4,12,34]
[1,2,35,4,123,58,8]