Pythonの行列でi番目の行とi番目の列の合計が同じであるかどうかを確認します
2D行列があるとします。 i番目の行の合計がi番目の列の合計と同じであるかどうかを確認する必要があります。
したがって、入力が次のような場合
2 | 3 | 4 | 5 |
10 | 6 | 4 | 2 |
1 | 4 | 6 | 7 |
1 | 5 | 6 | 7 |
その場合、最初の行と列の合計は(2 + 3 + 4 + 5)=14および(2 + 10 + 1 + 1)=14であるため、出力はTrueになります。
これを解決するには、次の手順に従います-
- 行:=マットの行数
- col:=マットの列数
- total_row:=0、total_col:=0
- 0から行-1の範囲のiの場合、実行
- total_row:=0、total_col:=0
- 0からcol-1の範囲のjの場合、do
- total_row:=total_row + mat [i、j]
- total_col:=total_col + mat [j、i]
- total_rowがtotal_colと同じ場合、
- Trueを返す
- Falseを返す
理解を深めるために、次の実装を見てみましょう-
サンプルコード
def solve(mat): row = len(mat) col = len(mat[0]) total_row = 0 total_col = 0 for i in range(row): total_row = 0 total_col = 0 for j in range(col): total_row += mat[i][j] total_col += mat[j][i] if total_row == total_col: return True return False matrix = [ [2,3,4,5], [10,6,4,2], [1,4,6,7], [1,5,6,7] ] print(solve(matrix))
入力
[ [1,2,3,4],[9,5,3,1],
[0,3,5,6],[0,4,5,6]
]
出力
True
-
2つのツリーをチェックするプログラムは、Pythonでの構造と値に基づいてまったく同じです。
2分木があるとすると、構造と値がまったく同じかどうかを確認する必要があります。双子の木と言えます。 したがって、入力が次のような場合 その場合、出力は最初のペアでTrue、2番目のペアと3番目のペアでFalseになります。これは、2番目と3番目の項目が異なり、構造がそれぞれ異なるためです。 これを解決するには、次の手順に従います- メソッドsolve()を定義します。これには2つのルートが必要です root0がnullで、root1がnullの場合、 Trueを返す root0がnullまたはroot1がnullの場合、 Falseを返す
-
与えられた2つの行列が同一であるかどうかをチェックするPythonプログラム
ここでは2つの行列が与えられています。両方の行列の順序は同じです。同じように2つの行列が等しくなければならず、両方の行列の行と列の数が等しく、対応する要素も等しくなければなりません。 アルゴリズム Step 1: Create two matrix. Step 2: Then traverse every element of the first matrix and second matrix and compare every element of the first matrix with the second matrix. Step 3: If the both are same