python-009Đọc toàn bộ đề miễn phí

Kiểm tra chuỗi đối xứng lọc ký tự

Trong hệ thống NLP phân tích văn bản của AI Empire Academy, cần kiểm tra xem một cụm từ hoặc mã định danh có phải là chuỗi đối xứng (Palindrome) hay không.

PythonTrung bình20 phút

Tiến độ của tôi ở bài này

Điểm được lưu vào tài khoản sau khi chấm bài.

Đang tải điểm của bạn…

Kiến thức và chủ đề

stringstwo pointersdata cleaning

Kiến thức tiên quyết: string methods, two pointers basics.

Nội dung đề bài

Mục tiêu kiến thức

  • Rèn luyện kỹ thuật Hai con trỏ (Two Pointers) co cụm từ hai đầu chuỗi.
  • Sử dụng phương thức kiểm tra ký tự chữ và số str.isalnum() và chuyển chữ thường str.lower().
  • Tối ưu hóa bộ nhớ bổ trợ đạt O(1) mà không cần tạo thêm chuỗi đảo ngược mới.

Mô tả bài toán

Trong hệ thống NLP phân tích văn bản của AI Empire Academy, cần kiểm tra xem một cụm từ hoặc mã định danh có phải là chuỗi đối xứng (Palindrome) hay không.

Một chuỗi được coi là đối xứng nếu sau khi:

  • Chuyển toàn bộ các chữ cái hoa thành chữ thường.
  • Bỏ qua tất cả các ký tự không phải là chữ cái hoặc chữ số (dấu cách, dấu câu, ký tự đặc biệt như !, @, #, ,, .).

Thì chuỗi đó đọc từ trái sang phải giống hệt như đọc từ phải sang trái. Chuỗi rỗng hoặc chuỗi chỉ chứa ký tự đặc biệt được coi là đối xứng hợp lệ.

Hãy viết hàm is_valid_palindrome(s: str) -> bool trả về True nếu chuỗi là đối xứng theo quy tắc trên, ngược lại trả về False.

Input

Một chuỗi ký tự s (str).

Output

Trả về giá trị boolean True hoặc False.

Ràng buộc

  • Độ dài chuỗi s: 0 ≤ |s| ≤ 2 · 105.
  • Thời gian chạy tối đa: 1000ms.
  • Giới hạn bộ nhớ: 256MB.

Ví dụ 1

Input

`s = "A man, a plan, a canal: Panama"`

Output

`True`

Giải thích

Sau khi lọc ký tự đặc biệt và chuyển chữ thường, chuỗi trở thành "amanaplanacanalpanama" — đây là một chuỗi đối xứng.

Ví dụ 2

Input

`s = "race a car"`

Output

`False`

Giải thích

Chuỗi lọc được là "raceacar", đọc ngược là "racaecar" ⇒ không đối xứng.

3 cấp độ gợi ýMở dần khi bạn thật sự cần hỗ trợ.
Phân tích lời giảiGiải thích hướng tư duy và thuật toán.
Code tham khảoDùng để đối chiếu sau khi tự làm.

Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.