Метод 1: подсчет шагов
Один простой способ проверить правильность ходьбы — подсчитать количество шагов в каждом направлении. Правильная прогулка должна иметь равное количество шагов в вертикальном и горизонтальном направлениях. Давайте посмотрим на пример кода ниже:
def isValidWalk(walk):
if len(walk) != 10:
return False
vertical = 0
horizontal = 0
for direction in walk:
if direction == 'n':
vertical += 1
elif direction == 's':
vertical -= 1
elif direction == 'e':
horizontal += 1
elif direction == 'w':
horizontal -= 1
return vertical == 0 and horizontal == 0
Метод 2: отслеживание координат
Другой подход — отслеживание координат прогулки. Начните с позиции (0, 0) и обновите координаты в зависимости от каждого направления. Если в конце обхода конечные координаты равны (0, 0), это допустимый обход. Вот пример на Python:
def isValidWalk(walk):
if len(walk) != 10:
return False
x = 0
y = 0
for direction in walk:
if direction == 'n':
y += 1
elif direction == 's':
y -= 1
elif direction == 'e':
x += 1
elif direction == 'w':
x -= 1
return x == 0 and y == 0
Метод 3: использование стека
Мы также можем использовать структуру данных стека для проверки обхода. Поместите каждое направление в стек и при обнаружении вытолкните противоположное направление. В конце стек должен быть пуст, чтобы обход был действительным. Вот пример кода на Python:
def isValidWalk(walk):
if len(walk) != 10:
return False
stack = []
for direction in walk:
if not stack:
stack.append(direction)
elif stack[-1] != direction:
stack.pop()
else:
stack.append(direction)
return len(stack) == 0
Проверку обхода можно выполнить различными способами. В этой статье мы рассмотрели три распространенных подхода: подсчет шагов, отслеживание координат и использование стека. Каждый метод имеет свои преимущества и может быть реализован с помощью простых фрагментов кода. Применяя эти методы, вы можете легко определить, является ли последовательность направлений допустимой прогулкой.
Не забудьте выбрать метод, который лучше всего соответствует вашим требованиям, и учитывать любые дополнительные ограничения или крайние случаи. Приятной прогулки!