You are given two lists of closed intervals, firstList and secondList, where firstList[i] = [starti, endi] and secondList[j] = [startj, endj]. Each list of intervals is pairwise disjoint and in sorted order.
Return the intersection of these two interval lists.
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 are either empty or represented as a closed interval. For example, the intersection of [1, 3] and [2, 4] is [2, 3].
Soruda bize iki interval listesi veriliyor.İntervalleri doğru parçaları olarak düşünebiliriz. Bu iki interval listesindeki kesişimlerden yeni bir interval listesi oluşturmamız isteniyor.
Soru da yapacağımız listedeki intervalleri karşılaştırarak başlangıç değerlerinin maksimumunu bitiş değerlerinin ise minimumu alarak kesişim intervali oluşturmak.[0,2] ve [1,5] için [1,2] oluşur.
Burada dikkat etmemiz gereken iki listeyi karşılaştırırken sadece aynı indeksteki intervalleri karşılaştırmamak bunu yaparsak aradaki bazı kesişimleri kaçırabiliriz.
Sıfırıncı indeksteki intervalleri karşılaştırmayı bitirince karşılaştırdığımız intervallerin hangisinin bitiş(end) değeri düşükse o listedeki bir sonraki intervale geçeriz.Bu sayede çapraz kontroller yaparak aradaki kesişimleri de bulabiliriz.