Phỏng vấn top 150Trung bình

So khớp biểu thức chính quy

Hướng dẫn chi tiết và cách triển khai Python cho vấn đề 'So khớp biểu thức chính quy'.

Tuyên bố vấn đề

Trung bình

Cho một chuỗi đầu vào s và một mẫu p, hãy triển khai đối sánh biểu thức chính quy với sự hỗ trợ cho '.' và '*' ở đâu:

- '.' Khớp với bất kỳ ký tự đơn nào.

- '*' So khớp với 0 hoặc nhiều phần tử trước đó.

Việc khớp phải bao gồm toàn bộ chuỗi đầu vào (không phải một phần).

Viết hàm isMatch(s: str, p: str) -> bool.

Ràng buộc
  • 1 <= len(s) <= 20
  • 1 <= len(p) <= 20
  • s contains only lowercase English letters.
  • p contains only lowercase English letters, '.', and '*'.
  • It is guaranteed for each appearance of the character '*', there will be a previous valid character to match.

Ví dụ

Example 1
Input
s = "aa", p = "a"
Output
False
Explanation

"a" does not match the entire string "aa".

Example 2
Input
s = "aa", p = "a*"
Output
True
Explanation

'*' repeats the preceding 'a' once to match "aa".

Example 3
Input
s = "ab", p = ".*"
Output
True
Explanation

".*" matches zero or more of any character.

Need a Hint?
Hãy cân nhắc sử dụng các cấu trúc dữ liệu dành riêng cho 2D DP như tập hợp hoặc đống.
Edge Cases to Watch
  • Cấu trúc đầu vào trống
  • Đầu vào phần tử đơn
  • Giới hạn số lớn

Sẵn sàng để giải quyết?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Mở trong Trình chỉnh sửa
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.