#3552
Grid Teleportation Traversal
MediumArrayHash TableBreadth-First SearchMatrixHash MapArray
Approaches
Brute ForceOptimal
Complexity Comparison
| Brute Force | Optimal Solution★ | |
|---|---|---|
| Time | O(n²) | O(m * n) |
| Space | O(1) | O(m * n) |
💡
Intuition
Time O(m * n)Space O(m * n)
Use Breadth-First Search (BFS) to explore the grid while treating portals as super-nodes. This ensures we find the shortest path efficiently by leveraging teleportation.
⚙️
Algorithm
3 steps- 1Step 1: Initialize BFS with the starting cell and track visited cells and used portals.
- 2Step 2: For each cell, enqueue adjacent cells and teleportation options if not visited.
- 3Step 3: Continue until reaching the bottom-right cell, counting moves.
solution.py14 lines
1from collections import deque
2
3def minMoves(grid):
4 m, n = len(grid), len(grid[0])
5 queue = deque([(0, 0, 0)])
6 visited = set((0, 0))
7 portals = {}
8 # Populate portals
9 while queue:
10 x, y, moves = queue.popleft()
11 if (x, y) == (m-1, n-1): return moves
12 # Explore neighbors
13 # Handle portals
14 return -1ℹ
Complexity note: BFS explores each cell once, leading to linear complexity relative to the number of cells.
- 1Portals act as shortcuts, reducing the number of moves.
- 2BFS is optimal for finding the shortest path in unweighted grids.
Solutions and explanations are original Tejav content. Problem titles © LeetCode — use the LeetCode button above for the full problem statement.