• + 0 comments
    /*
     * Complete the 'climbingLeaderboard' function below.
     *
     * The function is expected to return an INTEGER_ARRAY.
     * The function accepts following parameters:
     *  1. INTEGER_ARRAY ranked
     *  2. INTEGER_ARRAY player
     */
    
    void _print(const vector<int>& v) {
        for (auto e: v) { cout << e << " "; }
        cout << endl;
    }
    
    vector<int> climbingLeaderboard(vector<int> ranked, vector<int> player) {
        vector<int> rx;
    
        // _print(ranked);
        ranked.erase(
            std::unique(ranked.begin(), ranked.end()),
            ranked.end()
        );
        // _print(ranked);
    
        for (auto p: player) {
            auto it = lower_bound(ranked.begin(), ranked.end(), p, std::greater<int>());
            auto k = distance(ranked.begin(), it);
            rx.push_back(k+1);
        }
    
        return rx;
    }