BFS | C++
\nclass Solution {\npublic:\n    bool canReach(string s, int minJump, int maxJump) {\n      queue<int>q;\n        int size=s.size();\n        if(s[size-1]==\'1\
```\nclass Solution {\npublic:\n    bool canReach(string s, int minJump, int maxJump) {\n      queue<int>q;\n        int size=s.size();\n        if(s[size-1]==\'1\')\n            return false;\n        else\n        {\n            q.push(0);\n            int far=0,m,n;\n            while(!q.empty())\n            {\n                m=max(q.front()+minJump,far); /*  minimum index  fron current\n\t\t\t\tposition we can reach(also check that if we\n\t\t\t\thave already visited that index then\n\t\t\t\tdo not visit same index that\'s why minimum index \n\t\t\t\twe can reach from current index is max of (q.front()+minJump,far)*/\n                n=q.front()+maxJump;    /* max index we can reach from current index */\n                far=n;\n                 q.pop();\n                while(m<size && m<=n)\n                {\n                    if(s[m]==\'0\')\n                        q.push(m);\n                    if(m==size-1)\n                        return true;\n                    m++;\n                        \n                }\n            }\n            return false;\n        }\n        \n        \n    }\n};\n```\nDo UPVOTE if it helps :)
['Breadth-First Search', 'C']