[codility]Prefix-set

这题很简单,一开始用了set。但后来一想这样其实是n*logn的,而且没有利用所有的数都在0..N-1之间。那么可以直接用vector当hashset。

// you can also use includes, for example:

// #include <algorithm>

int solution(const vector<int> &A) {

    // write your code in C++98

    vector<bool> hashset;

    int n = A.size();

    hashset.resize(n, false);

    int cover = -1;

    for (int i = 0; i < n; i++) {

        if (!hashset[A[i]]) {

            cover = i;

            hashset[A[i]] = true;

        }

    }

    return cover;       

}

  

你可能感兴趣的:(set)