zoukankan      html  css  js  c++  java
  • LC56 合并区间

    搞一个结果数组ans,用来存结果,先排序sort,对原数组扫一遍for,如果原数组中当前元素的左区间值intervals[i][0]要比结果数组中的最后一位的右区间ans.back()[1]大的话,就将该元素插入进结果数组,此时这种情况是不存在交集。
    如果不满足上面的条件,存在交集,进行更新结果数组中最后一位的右区间就可以了。

    class Solution {
    public:
        vector<vector<int>> merge(vector<vector<int>>& intervals) {
            if (!intervals.size()) return {};
            sort(intervals.begin(), intervals.end());
            vector<vector<int>> ans;
            for (int i = 0; i < intervals.size(); i++) {
                int l = intervals[i][0], r = intervals[i][1];
                if (!ans.size() || l > ans.back()[1]) ans.push_back(intervals[i]);
                else ans.back()[1] = max(r, ans.back()[1]);
            }
            return ans;
        }
    };
    
  • 相关阅读:
    MySQL(后篇)
    数据库
    Ajax
    JQuery
    BOM & DOM
    CSS
    HTML
    Python之IO多路复用学习
    vue-router小记
    js中运算符的优先级
  • 原文地址:https://www.cnblogs.com/lihanwen/p/12846420.html
Copyright © 2011-2022 走看看