FrogJmp

Count minimal number of jumps from position X to Y.

Solution in C++ (easy to convert into other languages...)

int solution(int X, int A[], int N)
{
    vector<char> Xflg(X);

    int res = -1;
    int j = -1;

    for (int i = 0; i < N; ++i) {
        auto k = A[i];

        if (Xflg[k-1]) {
            j = 0;
            memset(Xflg.data(), 0, Xflg.size());
        }
        else {
            Xflg[k-1] = 1;
            ++j;
        }

        if (j == (X-1)) {
            res = i;
            break;
        }
    }

    return res;
}
Comments