以下是一个示例代码,用于遍历一个包含多个子数组的数组,并获取每条路径的总和:
def get_path_sums(array):
sums = [] # 用于存储每条路径的总和
# 递归函数,用于遍历数组并计算每条路径的总和
def traverse(arr, path_sum):
if len(arr) == 0:
return
# 获取当前子数组的第一个元素
num = arr[0]
# 计算当前路径的总和
path_sum += num
# 如果当前子数组只有一个元素,说明到达路径的末尾,将路径总和添加到结果列表中
if len(arr) == 1:
sums.append(path_sum)
return
# 如果子数组还有多个元素,递归调用函数遍历剩余的子数组
for i in range(1, len(arr)):
traverse(arr[i:], path_sum)
# 调用递归函数开始遍历数组
traverse(array, 0)
return sums
# 示例用法
array = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
path_sums = get_path_sums(array)
print(path_sums) # 输出: [6, 9, 21, 15, 30, 25]
在上面的示例中,get_path_sums
函数接收一个包含多个子数组的数组作为输入,并返回一个列表,其中包含每条路径的总和。递归函数traverse
用于遍历数组,并在每个路径上累加元素的值,直到到达路径的末尾,然后将路径总和添加到结果列表中。
下一篇:遍历数组以获取对象之间的距离