Posted on

Description

Submission

class Solution {
public:
    vector<int> findRightInterval(vector<vector<int>>& intervals) {
        int n = intervals.size();
        map<int, int> left2index;
        for(int i = 0; i < n; ++i) {
            left2index[intervals[i][0]] = i;
        }

        vector<int> rets;
        rets.reserve(n);

        for(auto& v: intervals) {
            auto it = left2index.lower_bound(v[1]);

            if(it == left2index.end()) {
                rets.push_back(-1);
            } else {
                rets.push_back(it->second);
            }
        }

        return rets;
    }
};

Leave a Reply

Your email address will not be published. Required fields are marked *