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