如何计算2D矩阵中东部数字的总和?

时间:2018-08-13 15:20:48

标签: algorithm multidimensional-array

我需要解决二维矩阵中对角线划分的区域中的数字的各种问题(例如,计算矩阵南部的偶数个数)。

我的问题是,我不知道如何选择东部数字。我还要补充一点,我希望东部数字不包括对角线本身。

1 个答案:

答案 0 :(得分:1)

  

我的问题是,我不知道如何选择东部数字……不包括对角线本身。

将您的问题分解为两个:

  1. 将东北半部(在主对角线上方)与西南半部(在主对角线下方)分开。
  2. 将东南半部与西北半部分开(次级对角线的上方和下方)。

然后只需根据主要对角线选择位于上半部的元素,并根据次要对角线选择位于下半部的元素-一个简单的交集。

关注两个问题中的第一个-我们如何考虑对角线本身?对角线包含元素m[0,0]m[1,1]m[2,2]等-或通常,如果m[i,j]在对角线上,则i == j。现在,对角线上方的任何点都在对角线上的某个m[i,i]上方,因此它与m[i,j]j < i。类似地,下面的任何一点都具有j > i

这应该足以让您制定完整的算法。