Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func intervalIntersection(_ A: [Interval], _ B: [Interval]) -> [Interval] {
- var arr = A + B
- //这里由于输入都是有序的。 可以双指针loop形成sorted list
- arr.sort{
- if $0.start == $1.start {
- return $0.end < $1.end
- }
- return $0.start < $1.start
- }
- var res = [Interval]()
- var preEnd = -1
- for inter in arr{
- if inter.start <= preEnd{
- res.append(Interval(inter.start, min(inter.end, preEnd)))
- // preEnd = inter.end
- }
- preEnd = max(inter.end, preEnd)
- }
- return res
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement