[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
This commit is contained in:
pre-commit-ci[bot] 2025-01-16 23:26:59 +00:00
parent 134c7ab3d0
commit 2e216ab558

View File

@ -22,13 +22,14 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.
""" """
# https://gist.github.com/harigro/28df9ec639f74f217473f85065acf9d8 # https://gist.github.com/harigro/28df9ec639f74f217473f85065acf9d8
from typing import List, Dict from typing import List, Dict
def divide_array_to_graph(arr: List[int], base: int) -> Dict[int, List[int]]: def divide_array_to_graph(arr: List[int], base: int) -> Dict[int, List[int]]:
""" """
Splits an array into smaller parts and returns them in a dictionary, simulating a graph Splits an array into smaller parts and returns them in a dictionary, simulating a graph
structure where each part of the array is a node connected to other parts. structure where each part of the array is a node connected to other parts.
Args: Args:
@ -36,7 +37,7 @@ def divide_array_to_graph(arr: List[int], base: int) -> Dict[int, List[int]]:
base (int): The divisor that determines the number of parts. base (int): The divisor that determines the number of parts.
Returns: Returns:
Dict[int, List[int]]: A dictionary representing the graph structure, Dict[int, List[int]]: A dictionary representing the graph structure,
where each key is a node and the value is a list of connected nodes. where each key is a node and the value is a list of connected nodes.
Example: Example:
@ -46,21 +47,23 @@ def divide_array_to_graph(arr: List[int], base: int) -> Dict[int, List[int]]:
{0: [1, 2, 3, 4], 1: [5, 6, 7, 8]} {0: [1, 2, 3, 4], 1: [5, 6, 7, 8]}
""" """
length = len(arr) length = len(arr)
parts = len(arr)//base # Desired number of parts parts = len(arr) // base # Desired number of parts
part_size = length // parts # Size of each part part_size = length // parts # Size of each part
# Divide the array into smaller parts # Divide the array into smaller parts
result = [arr[i * part_size: (i + 1) * part_size] for i in range(parts)] result = [arr[i * part_size : (i + 1) * part_size] for i in range(parts)]
# Insert the result into a dictionary with keys from 0 to 3 # Insert the result into a dictionary with keys from 0 to 3
result_dict = {i: result[i] for i in range(parts)} result_dict = {i: result[i] for i in range(parts)}
return result_dict return result_dict
if __name__ == "__main__": if __name__ == "__main__":
# Example usage # Example usage
array = [1, 2, 3, 4, 5, 6, 7, 8] array = [1, 2, 3, 4, 5, 6, 7, 8]
print(divide_array_to_graph(array, 2)) print(divide_array_to_graph(array, 2))
import doctest import doctest
doctest.testmod()
doctest.testmod()