Cho chuỗi chứa '.' (ô trống) và số x (có thể di chuyển x bước trái/phải). Kiểm tra có ô nào bị truy cập >1 lần không.
Ví dụ: ".2...2.." → ô thứ 4 truy cập được từ vị trí 2 (đi phải 2) và vị trí 6 (đi trái 2).
Giải thuật
- Mảng visited[n] đếm số lần truy cập mỗi ô
- Duyệt chuỗi: nếu là số x, tăng visited[j] cho j trong [i-x, i+x] (trong phạm vi)
- Kiểm tra visited có giá trị > 1 không
Lưu ý
Code ví dụ trong bài gốc có vẻ bị trộn với bài toán kiểm tra BST level-wise sorted. Giải thuật đúng như mô tả ở trên.