Jump Game III LeetCode solution in Java

1
class Solution {
2
public boolean canReach(int[] arr, int start) {
3
int n = arr.length;
4
boolean[] vis = new boolean[n];
5
Queue<Integer> q = new LinkedList<>();
6
q.add(start);
7
while (!q.isEmpty()) {
8
int size = q.size();
9
while (size-- > 0) {
10
int curr = q.poll();
11
if (vis[curr]) continue;
12
if (arr[curr] == 0) return true;
13
if (curr + arr[curr] < n) q.add(curr + arr[curr]);
14
if (curr - arr[curr] >= 0) q.add(curr - arr[curr]);
15
vis[curr] = true;
16
}
17
}
18
return false;
19
}
20
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0