[C++] | BFS | Easy and Clean Solution |
\nbool canReach(string s, int minJump, int maxJump) {\n        if(s.back() == \'1\')\n            return false;\n        \n        queue<int> q;\n        q.push
```    \nbool canReach(string s, int minJump, int maxJump) {\n        if(s.back() == \'1\')\n            return false;\n        \n        queue<int> q;\n        q.push(0);\n        \n        int farthest = 0, n = s.size();\n        \n        while(!q.empty()){\n            int idx = q.front();\n            q.pop();\n            \n            if(idx == n - 1)\n                return true;\n            \n            for(int i = max(farthest, idx + minJump); i <= min(n - 1, idx + maxJump); i++){\n                if(s[i] == \'0\'){\n                    q.push(i);\n                }\n            }\n            \n            farthest = max(farthest, idx + maxJump);\n        }\n        return false;\n    }\n\t```
[]