Jump Game Solution

Anonymous
java
02/12/2026 6:06 PM
1.1 KB
10
Indexable
class Solution {
    public boolean canReach(int[] arr, int start) {
        Queue<int[]>qu=new LinkedList<>();
        qu.add(new int[]{start,arr[start]});
        boolean vis[]=new boolean[arr.length];
        while(!qu.isEmpty())
        {
            int a[]=qu.poll();
            int idx=a[0];
            int val=a[1];
            if(val == 0)
            {
                return true;
            }
            int front=idx+val;
            int back=idx-val;
            if(front >=0 && front <arr.length && !vis[front])
            {
                vis[front]=true;;
                qu.add(new int[]{front,arr[front]});
            }
            if(back>=0 && back<arr.length && !vis[back])
            {
                vis[back]=true;
                qu.add(new int[]{back,arr[back]});
            }
        }
        return false;
    }
}
Editor is loading...
Leave a Comment