* Add missing type hints to hill_climbing.py
This commit adds the missing type annotations to searches/hill_climbing.py.
- Added type annotation for function_to_optimize using Callable [[int, int], int]
- Added return type hints to get_neighbors, __hash__, __eq__, and __str__
- Added missing type hint for search_prob in hill_climbing()
- Improved type clarity while preserving existing logic
- Used modern Python type hints (PEP 585)
This improves readability and typing consistency across the repository.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix unnecessary empty iterable in deque initialization (RUF037)
* Update type hint for objective function to allow float return values
* Update score() return type to support int | float
Mypy reported an incompatible return type because function_to_optimize may return float values.
Updated score() return type from int to int | float for full compatibility.
* Initialize deque with empty list for None values
* updating DIRECTORY.md
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: cclauss <cclauss@users.noreply.github.com>
* Enable ruff PLR5501 rule
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* The black formatter is no longer beta
* pre-commit autoupdate
* pre-commit autoupdate
* Remove project_euler/problem_145 which is killing our CI tests
* updating DIRECTORY.md
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
* added hill climbing algorithm
* Shorten long lines, streamline get_neighbors()
* Update hill_climbing.py
* Update and rename optimization/hill_climbing.py to searches/hill_climbing.py
Co-authored-by: Christian Clauss <cclauss@me.com>