Что если вы сделаете связанный список, как вы сказали, но также сохраните текущее минимальное значение.Когда вы добавляете новый номер, он просматривает предыдущий мин и меняет текущий мин на текущее значение, если текущее значение ниже.
Например. Предположим, у вас есть данные: 3, 6, 4, 2, 7, 1. Тогда вот как будет выглядеть список
value | min
3 | 3 -> 6 | 3 -> 4 | 3 -> 2 | 2 -> 7| 2 -> 1 | 1
Это будет отслеживать минуты, когда вы добавляете / удаляете элементы.
РЕДАКТИРОВАТЬ: я упоминал, что в обратном направлении это будет примерно так: 1 |1 -> 7 | 2 -> 2 | 2 -> 4 | 3 -> 6 | 3 -> 3 | 3 Тогда вам не понадобится «нижний колонтитул».