Feature #10: Minimum Variation
Explore how to find the longest sub-array of days where network traffic variation stays below a threshold. Understand using two pointers and monotonic deques to optimize this problem, helping in scenarios like billing discounts based on traffic stability.
We'll cover the following...
Description
We monitored a network for several days and stored the daily traffic rates the network handled in an array. When billing customers for network traffic, we want to offer a discount to the traffic profiles for which traffic the rate stays more or less constant, meaning it does not vary too much. To this end, we want to find the longest stretch of consecutive days on which the traffic variation was the least on our array. Here, we define variation in a sub-array v[i..j] as the absolute difference between the maximum element and the minimum element in the sub-array, max(t[i..j]) - min(t[i..j]). We will define the threshold minimum value against which the variation will be compared. If the traffic variation is below this threshold (for at least x number of days), we will offer a discount on the bill.
Therefore, we are looking for the days on which traffic variation is less than or equal to the defined threshold. For example, if a ...