Leetcode-986 Interval List Intersections(区间列表的交集)
1 bool cmp(Interval a,Interval b) 2 { 3 return a.start<b.start; 4 } 5 class Solution 6 { 7 public: 8 9 vector<Interval> intervalIntersection(vector<Interval>& A, vector<Interval>& B) 10 { 11 vector<Interval> rnt; 12 for(int i = 0; i < A.size(); i ++) 13 { 14 for(int j = 0; j < B.size(); j ++) 15 { 16 if(A[i].start>=B[j].start&&A[i].start<=B[j].end&&A[i].end<=B[j].end) 17 { 18 Interval tmp(A[i].start,A[i].end); 19 rnt.push_back(tmp); 20 } 21 else if(A[i].start>=B[j].start&&A[i].start<=B[j].end&&A[i].end>B[j].end) 22 { 23 Interval tmp(A[i].start,B[j].end); 24 rnt.push_back(tmp); 25 } 26 else if(B[j].start>=A[i].start&&B[j].start<=A[i].end&&B[j].end>A[i].end) 27 { 28 Interval tmp(B[j].start,A[i].end); 29 rnt.push_back(tmp); 30 } 31 else if(B[j].start>=A[i].start&&B[j].start<=A[i].end&&B[j].end<=A[i].end) 32 { 33 Interval tmp(B[j].start,B[j].end); 34 rnt.push_back(tmp); 35 } 36 } 37 } 38 sort(rnt.begin(),rnt.end(),cmp); 39 return rnt; 40 } 41 };