LeetCode_56insert [Insert Interval]

來源:互聯網
上載者:User

標籤:io   art   re   c   ar   new   amp   window   

#pragma warning(disable:4996)#include <Windows.h>#include <tchar.h>#include <cstdio>#include <vector>using namespace std;/*submit time : 1request :Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).You may assume that the intervals were initially sorted according to their start times.Example 1:Given intervals [1,3],[6,9], insert and merge [2,5] in as [1,5],[6,9].Example 2:Given [1,2],[3,5],[6,7],[8,10],[12,16], insert and merge [4,9] in as [1,2],[3,10],[12,16].This is because the new interval [4,9] overlaps with [3,5],[6,7],[8,10].*/struct Interval {int start;int end;Interval() : start(0), end(0) {}Interval(int s, int e) : start(s), end(e) {}};vector<Interval> insert(vector<Interval> &intervals, Interval newInterval) {vector<Interval> res;int length = intervals.size(), newStart = newInterval.start;int i = 0;while (i < length && intervals[i].start <= newStart) res.push_back(intervals[i++]);// insert newIntervalint size = res.size();if (size == 0) {i = 0;res.push_back(newInterval);}else {if (res[size - 1].end >= newInterval.start)res[size - 1].end = max(res[size - 1].end, newInterval.end);elseres.push_back(newInterval);}// insert the leftwhile (i < length) {size = res.size();if (res[size - 1].end >= intervals[i].start) {res[size - 1].end = max(res[size - 1].end, intervals[i].end);++i;}elseres.push_back(intervals[i++]);}return res;}



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.