LeetCode T57_insert

C++实现: 

class Solution {//数组+排序
public:
    vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newInterval) {
        intervals.push_back(newInterval);//将新区间添加到列表中
        sort(intervals.begin(),intervals.end());//根据区间左端点值排序

        vector<vector<int>> res{intervals[0]};//声明返回值,并初始化
        for(int i=1;i<intervals.size();i++){
            if(res.back()[1] >= intervals[i][0]){//比较res中最后一个区间的右端点大于等于intervals中第i个区间的左端点,有交集
                res.back()[1] = max(intervals[i][1],res.back()[1]);//有交集的时候,res.back()的右端点取二值的较大值
            
            }
            else{//否则无交集,直接将第i个区间添加到返回变量中
                res.push_back(intervals[i]);
            }
        }
        return res;    
    }
};

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值