From 2261e228557f03643991b61042c272b0c2e10cc6 Mon Sep 17 00:00:00 2001 From: Aakarsh Verma Date: Thu, 17 Oct 2019 22:45:15 +0530 Subject: [PATCH] mergeIntervals.cpp --- Arrays/mergeIntervals.cpp | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Arrays/mergeIntervals.cpp diff --git a/Arrays/mergeIntervals.cpp b/Arrays/mergeIntervals.cpp new file mode 100644 index 0000000..1afa98b --- /dev/null +++ b/Arrays/mergeIntervals.cpp @@ -0,0 +1,50 @@ +#include +using namespace std; +/** + * Definition for an interval. + * struct Interval { + * int start; + * int end; + * Interval() : start(0), end(0) {} + * Interval(int s, int e) : start(s), end(e) {} + * }; + */ + bool comp(Interval i1,Interval i2){ + if(i1.start Solution::insert(vector &intervals, Interval newInterval) { + // Do not write main() function. + // Do not read input, instead use the arguments to the function. + // Do not print the output, instead return values as specified + // Still have a doubt. Checkout www.interviewbit.com/pages/sample_codes/ for more details + int i,n,e,s; + intervals.push_back(newInterval); + sort(intervals.begin(),intervals.end(),comp); + stackst; + st.push(intervals[0]); + n=intervals.size(); + for(i=1;i=intervals[i].start){ + st.pop(); + Interval in; + in.start=t.start; + in.end=max(t.end,intervals[i].end); + st.push(in); + } + else{ + st.push(intervals[i]); + } + } + intervals.clear(); + while(!st.empty()){ + Interval in=st.top(); + intervals.push_back(in); + st.pop(); + } + sort(intervals.begin(),intervals.end(),comp); + return intervals; +}