Я программирую на Java. Каждые 100 мс моя программа получает новый номер.
В нем есть кеш, содержащий историю последних n = 180 чисел.
Когда я получаю новый номер x, я хочу рассчитать, сколько цифр в кэше меньше x.
Впоследствии я хочу удалить самое старое число в кеше.
Каждые 100 мс я хочу повторить процесс вычисления количества меньших чисел и удалить самое старое число.
Какой алгоритм я должен использовать? Я бы хотел оптимизировать вычисления, поскольку это не единственное, что рассчитано на эти 100 мс.