K07

Vardiya Kapsamı

Temel Seviye (Junior)
Hedef Süre: 15 - 20 Dakika
Tip: NUMERIC

Teknik Tanım & Görev

Bir fabrikanın vardiya kayıtları, her işçinin makinede geçirdiği zaman aralıklarını tutuyor. Aralıklar [başlangıç, bitiş] biçiminde ve YARI AÇIK: başlangıç saati dahil, bitiş saati hariç. Aynı makinede birden fazla işçi aynı anda çalışmış olabilir, yani aralıklar çakışabilir veya biri diğerini tamamen kapsayabilir. Bakım ekibi, makinenin TOPLAM KAÇ SAAT ÇALIŞTIĞINI bilmek istiyor. Çakışan saatler YALNIZCA BİR KEZ sayılmalıdır. Aralık listesi verildiğinde, birleşimin toplam uzunluğunu döndür.

Fonksiyon İmzası (Python)

toplam_mesai_saati(araliklar: list[list[int]]) -> int

Girdi ve Çıktı Sözleşmesi

Çıktı Kuralı:Negatif olmayan tam sayı. Boş liste için 0.

Sistem Kısıtları (Constraints)

0 <= araliklar.length <= 10^4
-10^9 <= başlangıç <= bitiş <= 10^9
Aralık uzunluğu 0 olabilir ([5,5] -> boş aralık)

Örnek Yürütme Analizi

araliklar = [[1,4], [3,7], [10,12]]
[1,4) ve [3,7) birleşir -> [1,7) -> uzunluk 6
[10,12) -> uzunluk 2
cevap: 6 + 2 = 8

Örnek Test Senaryoları (3)

Örnek 1
Girdi:[[[1,4],[3,7],[10,12]]]
Beklenen Çıktı:8
Örnek 2: Ayrık Aralıklar
Girdi:[[[1,5],[6,10]]]
Beklenen Çıktı:8
Örnek 3: Zincirleme Kesişim
Girdi:[[[2,6],[4,8],[7,10]]]
Beklenen Çıktı:8
Python Editörü Yükleniyor...
Girdi Parametreleri
[
  [
    [
      1,
      4
    ],
    [
      3,
      7
    ],
    [
      10,
      12
    ]
  ]
]
Beklenen Çıktı
8