Что, совсем ничего нельзя сохранять? Ну ты, барин, и задачи
ставишь... :-) Все-таки нужен буфер (точнее - массив) для хранения нормализованного количества "попаданий" в диапазоны. И делать интерполяции по соседним точкам максимума/минимума для нахождения экстремума.
1. Выбирать элемент массива для значений вроде несложно.
2. Вычислять каждый раз нормализованное значение "попаданий" для всех элементов массива.
Это наверное самое трудозатратное место. Можно придумать какой-нибудь алгоритм аля Брезенхем, вроде должно получиться.
3. Мониторить нахождение Минимума/Максимума, это тоже несложно.
4. При изменениях Минимума/Максимума и его соседних точек пересчитывать интерполяцию и находить новый экстремум.
Это будет даже не интерполяция - а какая-то корреляция, т.е. точка экстремума будет двигаться левее-правее в зависимости от значений слева-справа.
Абсолютная точность не гарантируется, но по вычислениям там должно быть все быстро.
Ну вот - это то что придумывается экспромптом.