mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-06 00:54:32 +08:00
Fix absolute max bug (#6144)
This commit is contained in:
@ -17,7 +17,7 @@ public final class AbsoluteMax {
|
|||||||
}
|
}
|
||||||
int absMax = numbers[0];
|
int absMax = numbers[0];
|
||||||
for (int i = 1; i < numbers.length; i++) {
|
for (int i = 1; i < numbers.length; i++) {
|
||||||
if (Math.abs(numbers[i]) > Math.abs(absMax)) {
|
if (Math.abs(numbers[i]) > Math.abs(absMax) || (Math.abs(numbers[i]) == Math.abs(absMax) && numbers[i] > absMax)) {
|
||||||
absMax = numbers[i];
|
absMax = numbers[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,4 +19,12 @@ public class AbsoluteMaxTest {
|
|||||||
void testGetMaxValueWithNoArguments() {
|
void testGetMaxValueWithNoArguments() {
|
||||||
assertThrows(IllegalArgumentException.class, AbsoluteMax::getMaxValue);
|
assertThrows(IllegalArgumentException.class, AbsoluteMax::getMaxValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetMaxValueWithSameAbsoluteValues() {
|
||||||
|
assertEquals(5, AbsoluteMax.getMaxValue(-5, 5));
|
||||||
|
assertEquals(5, AbsoluteMax.getMaxValue(5, -5));
|
||||||
|
assertEquals(12, AbsoluteMax.getMaxValue(-12, 9, 3, 12, 1));
|
||||||
|
assertEquals(12, AbsoluteMax.getMaxValue(12, 9, 3, -12, 1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user