We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent a81fb32 commit 8db2c1fCopy full SHA for 8db2c1f
src/main/java/com/thealgorithms/maths/AbsoluteMax.java
@@ -15,12 +15,18 @@ public static int getMaxValue(int... numbers) {
15
if (numbers == null || numbers.length == 0) {
16
throw new IllegalArgumentException("Numbers array cannot be empty or null");
17
}
18
- int absMax = numbers[0];
19
- for (int i = 1; i < numbers.length; i++) {
20
- if (Math.abs(numbers[i]) > Math.abs(absMax)) {
21
- absMax = numbers[i];
+
+ int maxPositive = Integer.MIN_VALUE;
+ int maxNegative = Integer.MIN_VALUE;
22
+ for (int number : numbers) {
23
+ if (number >= 0 && number > maxPositive) {
24
+ maxPositive = number;
25
+ } else if (number < 0 && Math.abs(number) > Math.abs(maxNegative)) {
26
+ maxNegative = number;
27
28
- return absMax;
29
30
+ return Math.max(maxPositive, maxNegative);
31
32
0 commit comments