Menu
CoddyTech

Word Search

Trung bìnhQuay luiĐồ thịpython iconjava iconcpp iconc iconjs icon+10

Bạn nhận được một bảng chữ cái board, một danh sách chuỗi, trong đó board[r][c] là chữ cái ở hàng r, cột c, và một chuỗi word.

Trả về true nếu bạn có thể lần theo word: bắt đầu từ bất kỳ ô nào rồi mỗi lần di chuyển đến ô phía trên, phía dưới, bên trái hoặc bên phải, sao cho các ô bạn đi qua ghép thành word theo đúng thứ tự và không sử dụng ô nào quá một lần. Nếu không, trả về false. Phân biệt chữ hoa và chữ thường.

Hàm

exist(board: string-array, word: string) → boolean
boardstring-array
lưới, mỗi hàng là một chuỗi chữ cái
wordstring
từ cần lần theo
Trả vềboolean
liệu từ đó có thể được lần theo qua các ô đặt cạnh nhau hay không, mỗi ô chỉ được dùng tối đa một lần

Ràng buộc

  • 1 ≤ board.length ≤ 6
  • 1 ≤ board[i].length ≤ 6, và mọi hàng đều có cùng độ dài.
  • 1 ≤ word.length ≤ 20
  • board và word chỉ chứa các chữ cái tiếng Anh, cả chữ hoa lẫn chữ thường.

Ví dụ

Đầu vào
board = ["STAR", "POOL", "ENDS"]word = "STOOLS"
Đầu ra
true
Giải thích
Bắt đầu ở S trên cùng bên trái, đi sang phải đến T, đi xuống đến O, đi sang phải đến O và L, rồi đi xuống đến S bên dưới L. Không ô nào bị lặp lại.
challenge icon

Câu hỏi mở rộng

Thay vì trả lời có hoặc không, bạn có thể đếm xem bảng có bao nhiêu cách lần theo word khác nhau không?

Đặt lại code
def exist(board, word):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

board = ["STAR", "POOL", "ENDS"]
word = "STOOLS"

Đầu ra mong đợi

true