2022-5-20 每日一题-leetcode

2022-5-19 每日一题-leetcode
题目链接:https://leetcode.cn/problems/find-right-interval/

个人题解:按照左端点排序,二分找答案。

代码:

class Solution {
public:
    vector<int> findRightInterval(vector<vector<int>>& q) {
        for(int i=0;i<q.size();i++) q[i].push_back(i);
        sort(q.begin(),q.end());

        vector<int> res(q.size(),-1);
        for(auto &x:q){
            int l=0,r=q.size()-1;
            while(l<r){
                int mid=(l+r)>>1;
                if (q[mid][0]>=x[1]) r=mid;
                else l=mid+1;
            }
            if(q[r][0]>=x[1]) res[x[2]]=q[r][2];
        }
        return res; 
    }
};

运行截图:

image

posted @ 2022-05-20 10:24  黑VS白-清墨  阅读(26)  评论(0)    收藏  举报