码迷,mamicode.com
首页 > 其他好文 > 详细

LC 986. Interval List Intersections

时间:2019-02-03 15:37:00      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:hat   and   set   int   intersect   div   sts   note   empty   

Given two lists of closed intervals, each list of intervals is pairwise disjoint and in sorted order.

Return the intersection of these two interval lists.

(Formally, a closed interval [a, b] (with a <= b) denotes the set of real numbers x with a <= x <= b.  The intersection of two closed intervals is a set of real numbers that is either empty, or can be represented as a closed interval.  For example, the intersection of [1, 3] and [2, 4] is [2, 3].)

 

 

class Solution {
public:
  vector<Interval> intervalIntersection(vector<Interval>& A, vector<Interval>& B) {
    int ai = 0, bi = 0;
    vector<Interval> ret;
    while(ai < A.size() && bi < B.size()) {
      if(A[ai].end < B[bi].start) {
        ai++;
        continue;
      } else if(B[bi].end < A[ai].start) {
        bi++;
        continue;
      }
      ret.push_back(Interval(max(A[ai].start, B[bi].start), min(A[ai].end, B[bi].end)));
      if(A[ai].end <= B[bi].end) {
        ai++;
      }else{
        bi++;
      }
    }
    return ret;
  }
};

 

LC 986. Interval List Intersections

标签:hat   and   set   int   intersect   div   sts   note   empty   

原文地址:https://www.cnblogs.com/ethanhong/p/10350421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!