[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.
"""
# https://gist.github.com/harigro/28df9ec639f74f217473f85065acf9d8
# https://gist.github.com/harigro/28df9ec639f74f217473f85065acf9d8
from typing import List, Dict
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.
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.
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.
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]}
"""
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
# 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
result_dict = {i: result[i] for i in range(parts)}
return result_dict
if __name__ == "__main__":
# Example usage
array = [1, 2, 3, 4, 5, 6, 7, 8]
print(divide_array_to_graph(array, 2))
import doctest
doctest.testmod()
doctest.testmod()