Skip to content

fix: add validation for non-power-of-2 scores in minimax#14955

Closed
mithunbabbira wants to merge 3 commits into
TheAlgorithms:masterfrom
mithunbabbira:fix-14886
Closed

fix: add validation for non-power-of-2 scores in minimax#14955
mithunbabbira wants to merge 3 commits into
TheAlgorithms:masterfrom
mithunbabbira:fix-14886

Conversation

@mithunbabbira

Copy link
Copy Markdown

Summary

Fixes #14886 - Minimax crashes with RecursionError on non-power-of-2 input sizes

Problem

The minimax function uses math.log(len(scores), 2) to compute tree height, then compares depth == height. Since math.log returns a float, the comparison int == float never succeeds for non-power-of-2 input sizes, causing infinite recursion.

Solution

Added validation to raise ValueError when the number of scores is not a power of 2. This prevents the infinite recursion and provides a clear error message to users.

Testing

  • All existing doctests pass
  • New doctest added for non-power-of-2 validation
  • Verified correct behavior with power-of-2 and non-power-of-2 inputs

Fixes #14886

@algorithms-keeper

Copy link
Copy Markdown

Closing this pull request as invalid

@mithunbabbira, this pull request is being closed as none of the checkboxes have been marked. It is important that you go through the checklist and mark the ones relevant to this pull request. Please read the Contributing guidelines.

If you're facing any problem on how to mark a checkbox, please read the following instructions:

  • Read a point one at a time and think if it is relevant to the pull request or not.
  • If it is, then mark it by putting a x between the square bracket like so: [x]

NOTE: Only [x] is supported so if you have put any other letter or symbol between the brackets, that will be marked as invalid. If that is the case then please open a new pull request with the appropriate changes.

@algorithms-keeper algorithms-keeper Bot added invalid awaiting reviews This PR is ready to be reviewed labels Jul 20, 2026
@algorithms-keeper algorithms-keeper Bot removed the awaiting reviews This PR is ready to be reviewed label Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: Minimax crashes with RecursionError on non-power-of-2 input sizes

1 participant