0

I have this code which is for a LeetCode problem.

class Solution:
    def isRobotBounded(instructions: str) -> bool:
        dirX, dirY = 0, 1
        x, y = 0, 0

        for d in instructions:
            if d == "G":
                x, y = x + dirX, y + dirY
            elif d == "L":
                dirX, dirY = -1*dirY, dirX
            else:
                dirX, dirY = dirY, -1*dirX

        return (x, y) == (0, 0) or (dirX, dirY) != (0, 1)
    print(isRobotBounded('GGLLGG'))

Now, in d == "L", why is dirX used as 0 to calculate the value of dirY? In JavaScript, dirX would be calculated (-1*dirY) and then used to calculate dirY.

What am I missing here regarding Python? It looks like Python is using the initial values of the variables. What is this behavior called? And how to replicate it in JavaScript?

Thank you.

captaincustard
  • 321
  • 2
  • 12

0 Answers0