1. Studi Kasus
Untuk mendeteksi potensi serangan DDoS atau lonjakan trafik mendadak (traffic spike), server monitoring menganalisis array timestamp request log yang terurut: [t1, t2, t3, ...] (dalam detik).
Anda diminta membuat fungsi:
function detectSpikes(timestamps, windowSeconds, threshold)
⏱️ Alokasi Waktu Live Coding (20 Menit):
- 5 Menit Pertama: Memahami sliding window dua pointer $(L, R)$ untuk efisiensi $O(N)$.
- 15 Menit Koding: Implementasi window scanning dan deteksi interval lonjakan.
2. Requirement
- Hitung jumlah request dalam setiap interval rentang waktu sebesar
windowSeconds (misal $[t, t + windowSeconds]$).
- Jika jumlah request dalam rentang tersebut $\ge threshold$, catat interval tersebut
{ startTime, endTime, count }.
- Kembalikan array berisi semua puncak spike yang terdeteksi (tanpa duplicate start times).