Hướng dẫn cho Xâu Ami


Chỉ sử dụng khi thực sự cần thiết như một cách tôn trọng tác giả và người viết hướng dẫn này.

Chép code từ bài hướng dẫn để nộp bài là hành vi có thể dẫn đến khóa tài khoản.

Authors: ami

Đây là một bài toán gần giống với bài xác định xem một dãy ngoặc có đúng hay không.

Để giải quyết cả hai bài toán một cách tổng quát, ta có thể dùng một ngăn xếp (stack). Duyệt lần lượt các kí tự trừ trái sang phải, giả sử ta đang ở kí tự \(i\), có các trường hơp sau:

  • Nếu ngăn xếp rỗng hoặc phần tử cuối (back) của ngăn xếp khác S[i], ta đẩy S[i] vào ngăn xếp.
  • Nếu phần tử cuối của ngăn xếp trùng với S[i], ta đẩy phần tử cuối này ra khỏi ngăn xếp.

Nếu cuối cùng ngăn xếp rỗng thì xâu cần xét là một xâu đúng.

Độ phức tạp là \(O(n)\).



Bình luận

Không có bình luận nào.