Phỏng vấn top 150Dễ dàng

Tìm kiếm từ

Hướng dẫn chi tiết và cách triển khai Python cho bài toán 'Tìm kiếm từ'.

Tuyên bố vấn đề

Dễ dàng

Cho một lưới m x n bảng ký tự và một chuỗi ký tự, trả về true nếu từ đó tồn tại trong lưới.

Từ có thể được tạo từ các chữ cái của các ô liền kề liên tiếp, trong đó các ô liền kề nằm cạnh nhau theo chiều ngang hoặc chiều dọc. Cùng một ô chữ cái không được sử dụng nhiều lần.

Triển khai hàm exist(board: list, word: str) -> bool.

Ràng buộc
  • m == board.length
  • n == board[i].length
  • 1 <= m, n <= 6
  • 1 <= word.length <= 15
  • board and word consists of only lowercase and uppercase English letters

Ví dụ

Example 1
Input
[["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], "ABCCED"
Output
True
Explanation

The word ABCCED can be traced: A(0,0)->B(0,1)->C(0,2)->C(1,2)->E(2,2)->D(2,1).

Example 2
Input
[["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], "SEE"
Output
True
Explanation

The word SEE can be traced: S(1,3)->E(2,3)->E(2,2).

Example 3
Input
[["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], "ABCB"
Output
False
Explanation

Cannot trace ABCB without reusing cells.

Need a Hint?
Hãy cân nhắc việc sử dụng các cấu trúc dữ liệu dành riêng cho Quay lui 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.