Skip to content

Fix incorrect absolute minimum calculation#7536

Open
klerk1t wants to merge 3 commits into
TheAlgorithms:masterfrom
klerk1t:fix-AbsoluteMin
Open

Fix incorrect absolute minimum calculation#7536
klerk1t wants to merge 3 commits into
TheAlgorithms:masterfrom
klerk1t:fix-AbsoluteMin

Conversation

@klerk1t

@klerk1t klerk1t commented Jul 21, 2026

Copy link
Copy Markdown
  • I have read CONTRIBUTING.md.
  • This pull request is all my own work -- I have not plagiarized it.
  • All filenames are in PascalCase.
  • All functions and variable names follow Java naming conventions.
  • All new algorithms have a URL in their comments that points to Wikipedia or other similar explanations.
  • All new algorithms include a corresponding test class that validates their functionality.
  • All new code is formatted with clang-format -i --style=file path/to/your/file.java

@codecov-commenter

codecov-commenter commented Jul 21, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 87.50000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 80.32%. Comparing base (8a20fa9) to head (5dc5439).

Files with missing lines Patch % Lines
...main/java/com/thealgorithms/maths/AbsoluteMin.java 87.50% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff            @@
##             master    #7536   +/-   ##
=========================================
  Coverage     80.32%   80.32%           
- Complexity     7402     7406    +4     
=========================================
  Files           812      812           
  Lines         23911    23914    +3     
  Branches       4704     4706    +2     
=========================================
+ Hits          19206    19210    +4     
  Misses         3944     3944           
+ Partials        761      760    -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@klerk1t
klerk1t marked this pull request as ready for review July 21, 2026 18:30
@DenizAltunkapan

Copy link
Copy Markdown
Member

@klerk1t Nice simplification! I found one remaining edge case though.

Math.abs(Integer.MIN_VALUE) overflows and returns Integer.MIN_VALUE, so cases like:

AbsoluteMin.getMinValue(Integer.MIN_VALUE, 1)

currently return Integer.MIN_VALUE instead of 1.

I'd recommend comparing absolute values as long (e.g. Math.abs((long) value)) and adding a test covering Integer.MIN_VALUE.

@klerk1t

klerk1t commented Jul 22, 2026

Copy link
Copy Markdown
Author

@DenizAltunkapan Thanks for pointing this out! I've updated the implementation to avoid the Integer.MIN_VALUE overflow issue by performing the comparisons using long values. I also added tests covering this case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants