怎样用Python在一个随机的(10,10)的二维数组中找出最大的(5,5)的子数组?

您所在的位置:网站首页 array_multisort二维数组 怎样用Python在一个随机的(10,10)的二维数组中找出最大的(5,5)的子数组?

怎样用Python在一个随机的(10,10)的二维数组中找出最大的(5,5)的子数组?

2023-04-06 06:40| 来源: 网络整理| 查看: 265

以下是一个使用Python实现的示例代码,该代码可以在一个随机的(10,10)的二维数组中找出最大的(5,5)的子数组。

import numpy as np # 创建一个随机的(10,10)的二维数组 arr = np.random.randint(1, 100, (10,10)) # 计算每个(5,5)的子数组的总和,并找到最大值 max_sum = -np.inf for i in range(6): for j in range(6): sub_array = arr[i:i+5, j:j+5] sub_sum = np.sum(sub_array) if sub_sum > max_sum: max_sum = sub_sum max_array = sub_array #if #for #for # 输出结果 print("原始数组:\n{}".format(arr)) print("最大的(5,5)子数组:\n{}".format(max_array)) print("子数组总和:{}".format(max_sum))

输出:

#原始数组: [[99 97 56 85 40 17 69 81 96 45] [65 27 23 98 8 99 29 98 73 87] [71 68 25 65 74 98 46 50 6 75] [79 95 50 2 65 87 98 31 39 81] [ 6 32 20 87 56 44 67 12 34 7] [10 25 1 77 11 28 41 29 3 25] [76 40 59 57 58 22 23 21 51 83] [ 2 23 10 44 30 33 40 38 44 42] [34 41 9 88 64 68 78 19 36 35] [39 72 20 2 29 84 30 90 61 52]] #最大的(5,5)子数组: [[87 56 44 67 12] [77 1 28 41 29] [57 59 22 23 21] [44 10 33 40 38] [72 20 84 30 90]] 子数组总和:856

详细问题问答



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3