En İyi 150 RöportajKolay

Aralık Ekle

'Aralık Ekle' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Kolay

Size, aralıklar[i] = [starti, endi]'nin i'inci aralığın başlangıcını ve sonunu temsil ettiği ve aralıkların starti'ye göre artan düzende sıralandığı, örtüşmeyen aralık aralıklarının bir dizisi verilir. Ayrıca size başka bir aralığın başlangıcını ve bitişini temsil eden bir newInterval = [start, end] aralığı verilir. Aralıklara newInterval ekleyin, böylece aralıklar hala başlangıçlara göre artan sırada sıralanacak ve aralıklar hala çakışan aralıklara sahip olmayacak (gerekiyorsa çakışan aralıkları birleştirin).

Eklemeden sonra dönüş aralıkları.

insert(intervals: List[List[int]], newInterval: List[int]) -> List[List[int]] adlı bir işlev yazın.

Kısıtlamalar
  • 0 <= len(intervals) <= 10^4
  • intervals[i].length == 2
  • 0 <= starti <= endi <= 10^5
  • intervals is sorted by starti in ascending order
  • newInterval.length == 2
  • 0 <= start <= end <= 10^5

Örnekler

Example 1
Input
intervals = [[1,3],[6,9]], newInterval = [2,5]
Output
[[1,5],[6,9]]
Explanation

The new interval [2,5] overlaps with [1,3], so they are merged into [1,5].

Example 2
Input
intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]
Output
[[1,2],[3,10],[12,16]]
Explanation

Because [4,8] overlaps with [3,5],[6,7],[8,10], they merge to [3,10].

Need a Hint?
Kümeler veya yığınlar gibi Aralıklara özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Editörde Aç
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.