Cho ma trận ký tự board và chuỗi target. Kiểm tra target có xuất hiện trong ma trận theo hàng (trái sang phải) hoặc theo cột (trên xuống dưới) không.
Ví dụ: board 3x4, target="tip" → True (cột 3: t-i-p).
Giải thuật (Duyệt hàng và cột)
- Duyệt từng hàng: nối ký tự thành chuỗi, kiểm tra
target in row_string - Duyệt từng cột: nối ký tự thành chuỗi, kiểm tra
target in col_string - Nếu tìm thấy →
True, hết cả hai →False
Ví dụ triển khai
def solve(board, word):
# Kiểm tra hàng
for row in board:
row_str = "".join(row)
if word in row_str:
return True
# Kiểm tra cột
for i in range(len(board[0])):
col_str = "".join(board[r][i] for r in range(len(board)))
if word in col_str:
return True
return False
board = [["a","n","t","s"],["s","p","i","n"],["l","a","p","s"]]
print(solve(board, "tip"))
Đầu vào
[["a","n","t","s"], ["s","p","i","n"], ["l","a","p","s"]], "tip"
Đầu ra
True