Cần giúp đỡ bài tập thêm ít phần tử nhất vào phía cuối mảng để được mảng đối xứng

Cho mảng 1 chiều các số nguyên. Hãy tìm cách thêm ít phần tử nhất vào phía cuối mảng để được mảng đối xứng.

Mảng đối xứng là mảng khi viết theo chiều từ trái sang phải hay ngược lại đều được kết quả giống nhau.

Ví dụ:

1 2 3

-> 1 2 3 2 1

1 15 15

-> 1 15 15 1

12 12 5

-> 12 12 5 12 12

Gọi n là số phần tử của mảng => số phần tử tối đa thêm vào để được mảng đối xứng là n - 1, vì phần tử cuối của mảng sẽ làm “điểm đối xứng”.
Giảm số phần tử thêm vào tức là phải xét tăng “điểm đối xứng” lên.

4 Likes

Mình vẫn làm k ra :((

Bài chèn để mảng/chuỗi đối xứng đều là O(n) :slight_smile:

Còn bài này thì gợi ý là so sánh mảng đảo với mảng ban đầu :smiley: bài này không phụ thuộc vào phần tử nên xét chuỗi nhị phân cho dễ nhìn :slight_smile:

4 Likes

A post was merged into an existing topic: Topic lưu trữ các post off-topic - version 3

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?