Files
Java/src/main/java/com/thealgorithms/maths/AbsoluteMin.java
Muhammad Rizwan 0e0539ea6c Fix AbsoluteMin bug for equal absolute values (#6145)
* fix-absolute-max-bug

* clang-format for added junit

* fix-absolute-min-bug
2025-01-19 17:50:43 +01:00

27 lines
794 B
Java

package com.thealgorithms.maths;
import java.util.Arrays;
public final class AbsoluteMin {
private AbsoluteMin() {
}
/**
* Compares the numbers given as arguments to get the absolute min value.
*
* @param numbers The numbers to compare
* @return The absolute min value
*/
public static int getMinValue(int... numbers) {
if (numbers.length == 0) {
throw new IllegalArgumentException("Numbers array cannot be empty");
}
var absMinWrapper = new Object() { int value = numbers[0]; };
Arrays.stream(numbers).skip(1).filter(number -> Math.abs(number) <= Math.abs(absMinWrapper.value)).forEach(number -> absMinWrapper.value = Math.min(absMinWrapper.value, number));
return absMinWrapper.value;
}
}