题解 | #合并区间#

合并区间

http://www.nowcoder.com/practice/69f4e5b7ad284a478777cb2a17fb5e6a

算是暴力通过的吧,思路和前边的题目是差不多的

还是新建一个tempgp数组,用来存放新的区间数组元素

就是Debug有点头疼

有个小的bug,这里 static bool cmp 要记得在前面加上static,不然会错

https://blog.csdn.net/weixin_40710708/article/details/111269356

/**
 * Definition for an interval.
 * struct Interval {
 *     int start;
 *     int end;
 *     Interval() : start(0), end(0) {}
 *     Interval(int s, int e) : start(s), end(e) {}
 * };
 */
class Solution {
public:

static bool cmp(Interval a, Interval b) {
    return a.start < b.start;
}    
    
    vector<Interval> merge(vector<Interval> &intervals) {
            int size = intervals.size();
            if(size == 0) return intervals;
            sort(intervals.begin(), intervals.end(), cmp);
            vector<Interval> tempgp;
            tempgp.push_back(intervals[0]);
            for(int i = 1; i < size; i++) {
                int length = tempgp.size();
                if(tempgp[length - 1].end >= intervals[i].start && tempgp[length - 1].end >= intervals[i].end) {
                    continue;
                }
                else if(tempgp[length - 1].end >= intervals[i].start && tempgp[length - 1].end < intervals[i].end) {
                    tempgp[length - 1].end = intervals[i].end;
                }
                else {
                    Interval temp;
                    temp.start = intervals[i].start;
                    temp.end = intervals[i].end;
                    tempgp.push_back(temp);
                }
            }
            return tempgp;
    }
};
全部评论

相关推荐

03-26 13:04
已编辑
电子科技大学 算法工程师
xiaowl:你这个简历“条目上”都比较有深度性,但是实际上面试官又没法很好的评估你是怎么达到很多看上去很厉害的结果的。要避免一些看上去很厉害的包装,比如高效的内存复用策略的表达,如果仅是简单的一些内存共享机制,而且面试上也没有深挖的空间,就不要这样表达。比如,工程化模式本质上可能就是定义了一些abstract class,那也就没特别多值得讲的内容。建议简历上应该侧重那些你花了大量时间和精力解决、研究的问题,不要过分追求“丰富”,而是关注在技术深入度、问题解决能力的表现上。
没有实习经历,还有机会进...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务