python---サブマトリクスの最大累積和
697 ワード
#
def maxSubArray(nums):
if len(nums) < 2:
return nums[0]
tem = nums[0]
max_num = nums[0]
for i in range(1, len(nums)):
if tem < 0:
tem = nums[i]
else:
tem += nums[i]
if tem > max_num:
max_num = tem
return max_num
#
def max_sum(matrix):
if not matrix:
return
low = len(matrix)
max_num = 0
for i in range(low):
res1 = list(matrix[i])
for j in range(i + 1, low):
res1 = list(map(lambda x: x[0] + x[1], zip(res1, matrix[j])))
max_num = max(maxSubArray(res1), max_num)
return max_num