mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-04 15:27:36 +08:00
Fix absolute max bug (#6144)
This commit is contained in:
@ -17,7 +17,7 @@ public final class AbsoluteMax {
|
||||
}
|
||||
int absMax = numbers[0];
|
||||
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];
|
||||
}
|
||||
}
|
||||
|
@ -19,4 +19,12 @@ public class AbsoluteMaxTest {
|
||||
void testGetMaxValueWithNoArguments() {
|
||||
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