Contributes to #9943: Add docstrings and doctests, fix `is_safe` logic, and improve code formatting
Contributes to #9943
This PR improves the count-islands-in-matrix implementation by:
-
Adding docstrings and doctests for all methods (
Matrix,is_safe,diffs, andcount_islands) -
Applying code formatting for consistency and pre-commit compliance (e.g., removing trailing whitespace, fixing parentheses).
-
Fixing a logic bug in
is_safe:
-
Previously,
is_safe()could returnintvalues 1 or 0 instead of expectedbooleanvalues (TrueorFalse). -
This was corrected by adding a condition to
self.graph[i][j], which ensures thatis_safe()doesn't return the value of a cell (intvalues 1 or 0) but instead returnsTrueif the cell has value 1 andFalseotherwise (value 0).
Since this is a small logic fix, I include it in this PR along with the docs, tests, and formatting changes.
All changes pass local testing with doctest and pre-commit hooks.
These changes together improve the clarity, functionality, and test coverage of the implementation.
Thank you for reviewing!