Jump Game III LeetCode solution in Python
1class Solution:2def canReach(self, arr: List[int], start: int) -> bool:3vis = [0] * len(arr)4q = deque()5q.append(start)6while q:7cur = q.popleft()8print(cur)9vis[cur] = 110if arr[cur] == 0:11return True12if cur + arr[cur] < len(arr) and vis[cur + arr[cur]] == 0:13q.append(cur + arr[cur])14if cur - arr[cur] >= 0 and vis[cur - arr[cur]] == 0:15q.append(cur - arr[cur])16return False