Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Sliding Window Anomaly Detector

HardPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Sliding Window Anomaly Detector. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Given a list of real-valued metrics metrics, an integer window size k, and a non-negative real threshold t, process the stream from left to right. For each index i, once at least k values are available, compute the moving average and standard deviation of the last k values. Mark metrics[i] as anomalous if abs(metrics[i] - mean) > t * std for that current window. Return a list of window averages and a list of anomaly flags for each position where a full window exists.

Constraints

  • 1 <= len(metrics) <= 10^5
  • 1 <= k <= len(metrics)
  • 0 <= t <= 10^6
  • -10^9 <= metrics[i] <= 10^9

Function Signature

def detect_moving_average_anomalies(metrics, k, t):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output