java || bfs solution
\nclass Solution {\n    public boolean canReach(String s, int minJump, int maxJump) {\n        int n = s.length();\n        if(s.charAt(n-1)==\'1\')return false
```\nclass Solution {\n    public boolean canReach(String s, int minJump, int maxJump) {\n        int n = s.length();\n        if(s.charAt(n-1)==\'1\')return false;\n        Queue<Integer> q = new LinkedList<>();\n        q.add(0);\n        int maxRange = 0;\n    \n        while(!q.isEmpty()){\n          int i = q.poll();\n          int l = Math.max(i+minJump, maxRange);\n          int r = Math.min(i + maxJump, n-1);\n          for(int x=l;x<=r;x++){\n            if(x==n-1)return true;\n            if(s.charAt(x)==\'0\'){\n              q.add(x);\n            }\n          }\n          maxRange = r+1;\n        }\n      return false;\n    }\n}\n```
['Breadth-First Search', 'Java']