Jump Game VII LeetCode solution in C++
1class Solution {2public:3bool canReach(string s, int minJump, int maxJump) {4int n = s.length();5if (s[n - 1] != '0') return false;67int i = 0;8queue<int> q;9q.push(0);10int curr_max = 0;1112while (!q.empty()) {13i = q.front();14q.pop();15if (i == n - 1) return true;1617for (int j = max(i + minJump, curr_max); j <= min(i + maxJump, n - 1); j++) {18if (s[j] == '0') q.push(j);19}20curr_max = min(i + maxJump + 1, n);21}22return false;23}24};