Simple question: will the following code work for finding the minimum value in an array of doubles (assume at least one value exists):
double[] values = ...
double currentMin = Double.POSITIVE_INFINITY;
for(int i = 0; i < values.length; i++) {
if(values[i] < currentMin) {
currentMin = values[i];
}
}
return currentMin;
The crux of the question is whether POSITIVE_INFINITY will behave as expected when compared to other (real) double values, as well as potential infinities themselves.
It is safe to use Double.POSITIVE_INFINITY. From the specification
All values other than NaN are ordered, with negative infinity less than all finite values, and positive infinity greater than all finite values.
Just set the minimum to the first element of the array (values[0) since you assume that at-least one value exists. If there is only one element, it must be the minimum, and otherwise, it will be updated accordingly.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With