Только тысячи значений? Вам действительно нужно оптимизировать это дальше? Я не могу представить, что это на самом деле узкое место в данный момент. Вы профилировали приложение, чтобы убедиться, что это действительно проблема?
Учитывая, что метод O (1), вы не собираетесь проводить самый радикальный вид оптимизации, на который вы обычно нацелены, - улучшая сложность.
Сказав это - когда вы вызываете это тысячи раз, остается ли какое-либо из значений постоянным? Например, вы используете один и тот же минимум и максимум несколько раз? Если это так, вы можете создать класс, который принимает эти значения в конструкторах и предварительно вычисляет, что он может, а затем имеет метод, принимающий остальные параметры. Это немного улучшит ситуацию, но я вернусь к своей первоначальной точке - беспокойтесь об этом, только если это действительно вызывает проблемы.