0

このコードを理解するのに苦労しています。この関数は、マトリックス内の選択された領域の合計を決定します。長方形の左上 (A) と右下 (D) の角の行列と座標が与えられます。

    def matrixRegionSum(matrix, A, D):
      if len(matrix) == 0:
        return
      totalSum = 0
      for i in range(A[0], D[0] + 1):
        for j in range (A[1], D[1] + 1):
          totalSum += matrix[i][j]
      return totalSum

私が立ち往生している部分は、 range() 関数内にあります。A[0]、B[0]、A[1]、および B[1] が行列にアクセスする方法がわかりません。誰か説明してくれませんか?配列の最初の値は A[0] ですが、行列は 2D です。誰かがこの関数の背後にあるロジックを説明してもらえますか?

お手伝いありがとう!とても有難い!

4

2 に答える 2

1

A左上の座標を表します。A[0]X座標、A[1]Y座標...

したがって、range(A[0], D[0] + 1)左境界と右境界の間のすべての X 値をループします。

Y 軸についても同様の理由です。

于 2013-08-07T08:55:59.517 に答える