Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで行列上にZ字型を形成する要素の合計を見つけるプログラム


1つのnxn行列Mがあるとすると、行列内でZ形状を形成するすべての要素の合計を見つける必要があります。

したがって、入力が次のような場合

4 3 2
9 1 8
2 5 6

要素が[4+3 + 2 + 1 + 2 + 5 + 6] =23であるため、出力は23になります。

これを解決するには、次の手順に従います-

  • n:=行列の行数
  • n <=2の場合、
    • 行列内のすべての要素の合計を返す
  • first_row:=最初の行の合計
  • last_row:=最後の行の合計
  • 対角=1からn-2までのすべてのiの行列[i、n-1-i]の合計
  • return first_row + last_row +diagonal

理解を深めるために、次の実装を見てみましょう-

class Solution:
   def solve(self, matrix):
      n = len(matrix)
      if n <= 2:
         return sum(sum(row) for row in matrix) first_row = sum(matrix[0])
      last_row = sum(matrix[n-1])
      diagonal = sum(matrix[i][n-1-i] for i in range(1, n-1))
      return first_row + last_row + diagonal
ob = Solution()
matrix = [ [4, 3, 2], [9, 1, 8], [2, 5, 6] ]
print(ob.solve(matrix))

入力

matrix = [[4, 3, 2],
[9, 1, 8],
[2, 5, 6]]

出力

23

  1. リスト内の要素の合計を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力としてリストが与えられた場合、与えられたリストの合計を計算する必要があります。 ここでは、考慮すべき2つのアプローチがあります。つまり、組み込み関数を使用する方法と、ブルートフォースアプローチを使用する方法です。 アプローチ1-組み込み関数の使用 例 # main arr = [1,2,3,4,5] ans = sum(arr) print ('Sum of the array is ',ans) 出力 15 すべての変数と関数はグローバルスコープで宣言されて

  2. 配列の合計を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列が与えられた場合、与えられた配列の合計を計算する必要があります。 ここでは、ブルートフォースアプローチに従うことができます。つまり、リストをトラバースし、各要素を空の合計変数に追加します。最後に、合計の値を表示します。 以下で説明するように、組み込みの合計関数を使用して別のアプローチを実行することもできます。 例 # main arr = [1,2,3,4,5] ans = sum(arr,n) print ('Sum of the array is '