Advertisement
HXXXXJ

986. Interval List Intersections

Apr 13th, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.74 KB | None | 0 0
  1.     func intervalIntersection(_ A: [Interval], _ B: [Interval]) -> [Interval] {
  2.         var arr = A + B
  3.         //这里由于输入都是有序的。 可以双指针loop形成sorted list
  4.         arr.sort{
  5.             if $0.start == $1.start {
  6.                 return $0.end < $1.end
  7.             }
  8.             return $0.start < $1.start
  9.         }
  10.         var res = [Interval]()
  11.         var preEnd = -1
  12.         for inter in arr{
  13.             if inter.start <= preEnd{
  14.                
  15.                 res.append(Interval(inter.start, min(inter.end, preEnd)))
  16.                 // preEnd = inter.end
  17.             }
  18.             preEnd = max(inter.end, preEnd)
  19.            
  20.         }
  21.        
  22.        
  23.        
  24.        
  25.         return res
  26.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement