Bài lập trình Pascal kiểu xâu

M

megamanxza

[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Chuỗi đối xứng là một xâu kí tự mà khi đọc xuôi hay ngược cũng như nhau (tính cả xâu có 1 kí tự, có phân biệt chữ hoa chữ thường) như là 'A', 'TET' hoặc 'aBBa' là chuỗi đối xứng. Còn 'aBBA' không phải là chuỗi đối xứng.
Viết chương trình nhập một xâu kí tự. In ra màn hình chuỗi con đối xứng dài nhất trong xâu đó.

Hiện giờ mình rất cần code và các bạn nhớ viết code dựa theo chương trình THCS nhé! Thanks các bạn nhiều!!!!! :khi (67)::khi (67):
 
M

mikelhpdatke

Có thể dùng vét cạn:
- Xét tất cả các dãy con, với mỗi dãy con kiểm tra tính đối xứng
 
B

baoquocphan

Mình làm theo cách này:
- Lật ngược chuỗi đã cho (s1) thành chuỗi (s2)
- Nếu s1 = s2 thì nó đổi xứng :D
 
T

thienvamai

với mỗi kí tự s tìm xâu đx dài nhất với s là tâm
với mỗi cặp s,s[i+1] giống nhau, tìm xâu đx dài nhất với tâm là s,s[i+1]
từ đó suy ra xâu đx dài nhất
cách ktra:
đối với tâm là 1 kí tự:
đặt độ dài d=1;
for j từ 0 nếu s[i+j]=s[i-j] thì tăng d lên 2
nếu s[i+j]khác s[i-j] hoặc i+j> độ dài xâu hoặc i-j<0 thì thóat vòng lặp.
đối với tâm 2 kí tự:
đặt độ dài d=2;
for j từ 0 nếu s[i+j+1]=s[i-j] thì tăng d lên 2
nếu s[i+j+1]khác s[i-j] hoặc i+j+1> độ dài xâu hoặc i-j<0 thì thóat vòng lặp.
 
Top Bottom