Bạn được cung cấp một chuỗi các chuỗi, trả về true nếu và chỉ khi tất cả các chuỗi có thể được kết nối trong một chuỗi.Cho một chuỗi các chuỗi, trả về true nếu mỗi chuỗi có thể được kết nối với
Điều kiện kết nối là nếu ký tự cuối cùng của một chuỗi khớp với ký tự đầu tiên của chuỗi thứ hai, thì hai chuỗi có thể được kết nối.
Ví dụ: String []arr ={"abc", "cde", "cad" , "def" , "eac"}
sẽ trả lại đúng vì tất cả các chuỗi có thể được kết nối trong một chuỗi.
"abc"->"cde"->"eac"->"cad"->"def"
Một ví dụ khác: String []arr ={"acb" , "cde", "def", "ead" }
lợi nhuận False vì
"cde"->"ead"->"def"
là chuỗi có thể nhưng “acb” đang bị bỏ rơi.
Lưu ý: Không cần bắt đầu bằng chuỗi đầu tiên và tạo thành chuỗi, Có thể bạn sẽ không nhận được chuỗi nếu bạn bắt đầu bằng chuỗi đầu tiên. Bạn có thể nhận được một chuỗi nếu bạn bắt đầu với bất kỳ chuỗi nào khác. Nếu tồn tại một chuỗi có thể, thì giải pháp của bạn sẽ trả về true.
Trong ví dụ thứ hai, nếu Chuỗi đầu tiên được giả sử là “fcb”
, sau đó một chuỗi có thể sẽ tồn tại, "cde"->"ead"->"def"->"fcb"
nên Đúng.
GIẢI PHÁP CÓ THỂ HÓA (tôi đang nghĩ gì): Hãy xem xét từng chuỗi làm biểu đồ Nút và kết nối các nút nếu điều kiện được thỏa mãn. Khi đã hoàn tất, vấn đề sẽ giảm xuống khi tìm kiếm,
if there exists a Hamiltonian Cycle in a graph
, đây là vấn đề NP-Complete.
Bất kỳ ai đề xuất một số thuật toán hoặc bất kỳ giải pháp nào khác?
Tôi không nghĩ rằng bình luận của bạn về đường dẫn Euler là hữu ích (vấn đề hơi khác), hoặc cung cấp bất kỳ cái nhìn sâu sắc bổ sung, gọi tốt trên điều Path vs Cycle mặc dù +1 cho điều đó. – ChrisCM
Hoặc tôi không hiểu vấn đề, hoặc nó đưa ra một câu trả lời hoàn toàn chính xác. Bạn có thể giải thích cho tôi tại sao các vấn đề lại khác nhau? – hivert
Có. Tôi cũng hiểu điểm của bạn. Mục đích của tôi nói về chu trình Hamilton là trong các câu hỏi, nó nói nó không cần thiết để bắt đầu với chuỗi đầu tiên và tìm một chuỗi, vì vậy có lẽ đó là lý do tại sao tôi nghĩ đến việc kết nối các nút với một đồ thị và sau đó tiến hành. Trong khi đó, tôi rất thích nhận được bất kỳ giải pháp nào khác hoặc một cách nào đó. –