Jump Game IV LeetCode solution in Python
1from collections import deque234class Solution:5def minJumps(self, arr: List[int]) -> int:6minSteps = 07queue = deque()8queue.append(0)9n = len(arr)10visited = set()11visited.add(0)1213d = {i: [] for i in arr}1415for i, val in enumerate(arr):16d[val].append(i)1718while queue:19for _ in range(len(queue)):20idx = queue.popleft()21if idx == n - 1:22return minSteps2324for i in [*d[arr[idx]], idx - 1, idx + 1]:25if i not in visited and 0 <= i < n:26visited.add(i)27queue.append(i)28d[arr[idx]].clear()29minSteps += 1