Cho một chuỗi có độ dài N chứa ký tự [A-Z], làm cách nào để xác định palindrome dài nhất cho một ký tự riêng lẻ?Làm cách nào để xác định hiệu quả palindrome ký tự cá nhân dài nhất trong một chuỗi đã cho?
tôi sẽ minh họa điều này bằng một ví dụ:
chuỗi Given: JOHNOLSON
Khi phân tích chuỗi, chúng ta thấy rằng chúng tôi có một palindrome với nhân vật O
như vậy mà các chuỗi trông giống như J
O
HN
O
LS
O
N
. Các palindrome cho O
's là chiều dài 7 về cơ bản trông như O
--
O
--
O
. Ngoài ra, hãy chú ý rằng có một palindrome với N
, nhưng nó chỉ là chiều dài 6.
Một ví dụ khác, chuỗi Given: ABCJOHNOLSON
cho kết quả tương tự như trên với một palindrome của O
's chiều dài 7 trông như O
--
O
--
O
.
Tuy nhiên, với chuỗi cho trước ABCJOHNOLSONDA
, dài nhất từng nhân vật palindrome là chiều dài 14 với nhân vật A
trông như A
------------
A
.
ví dụ đơn giản khác bao gồm:
ABA
->A
-
A
(chiều dài 3)
ABAXYZ
->A
-
A
(chiều dài 3)
ABAXYZA
->A
---
A
(chiều dài 5), không dài 7 vì A
-
A
---
A
không phải là một palindrome cho chữ A
.
Đặc biệt chú ý đến ví dụ cuối cùng vì nó minh họa một trong những sắc thái tinh tế của vấn đề.
Phải có cụm từ tốt hơn cho những gì bạn đang tìm kiếm hơn "palindrome" vì hầu hết các ví dụ của bạn không phải là palindromes. – Blastfurnace
Hãy xem xét một chuỗi ví dụ 'ABCDAEEALMNA' khi xem xét 'A' sẽ giống như' A --- A - A --- A' là một palindrome (khi bạn bỏ qua sự độc đáo của các ký tự còn lại) của kích thước 12, nhưng xem xét chuỗi 'ABCDAEEALMNOA' trong đó toàn bộ chuỗi không còn là palindrome nữa, thay vào đó chuỗi con nhỏ hơn nhiều trở thành palindrome dài nhất, cụ thể là' A --- A' có chiều dài 5 ở cuối. – jbranchaud
Tôi hiểu 'mẫu' bạn quan tâm, nó không phù hợp với định nghĩa từ điển của thuật ngữ palindrome. Tôi tự hỏi nếu có một giải pháp biểu thức chính quy cho những gì bạn đang tìm kiếm. – Blastfurnace