Robot bắt đầu tại (0,0). Cho danh sách di chuyển 'N','S','E','W'. Kiểm tra có thể đến tọa độ hay không.
Ví dụ: , → True.
Giải thuật (Mô phỏng trực tiếp O(n))
- Khởi tạo
. - Duyệt
:- 'N': y += 1
- 'S': y -= 1
- 'E': x += 1
- 'W': x -= 1
- So sánh
với.
Ví dụ minh họa
class Solution:
def solve(self, moves, coord):
temp_coord = [0, 0]
for move in moves:
if move == "N":
temp_coord[1] += 1
elif move == "S":
temp_coord[1] -= 1
elif move == "E":
temp_coord[0] += 1
elif move == "W":
temp_coord[0] -= 1
return temp_coord[0] == coord[0] and temp_coord[1] == coord[1]
ob = Solution()
moves = ['N','N','E','E','S']
coord = [2, 1]
print(ob.solve(moves, coord)) # Output: True
Đầu vào
['N','N','E','E','S'], [2,1]
Đầu ra
True