public void MidFinder(int[] input, int mid) { RollingMedianFinder rollingMedianFinder = new RollingMedianFinder(input.Length); foreach (int item in input) { rollingMedianFinder.Add(item); } Assert.Equal(2 * mid, rollingMedianFinder.DoubleMid); }
public static int activityNotifications(int[] expenditure, int d) { RollingMedianFinder medianFinder = new RollingMedianFinder(d); for (int i = 0; i < d; i++) { medianFinder.Add(expenditure[i]); } int counter = 0; for (int i = d; i < expenditure.Length; i++) { if (expenditure[i] >= medianFinder.DoubleMid) { counter++; } medianFinder.Remove(expenditure[i - d]); medianFinder.Add(expenditure[i]); } return(counter); }