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

行と列の最大の要素がPythonで指定されている場合に、元の行列を見つけます


それぞれサイズNとMの2つの配列AとBがあり、1つのN X Mバイナリ行列もあるとします。1は元の行列に正の整数があったことを示し、0は位置は元の行列にも0を保持しています。 A [i]がi番目の行の最大要素を示し、B [j]がj番目の列の最大要素を示すように、元の行列を生成する必要があります。

したがって、入力がA =[4、2、3]、B =[3、1、0、0、4、0、5]行列のような場合、出力は行列になります

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

  • N:=Aのサイズ

  • M:=Bのサイズ

  • 0からNの範囲のiの場合、実行

    • 0からMの範囲のjについては、次のようにします

      • mat [i、j]が1と同じ場合、

        • 最小値のA[i]とB[j]

          を表示します
      • それ以外の場合

        • 新しい行を印刷する

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

def print_original_mat(A, B, mat) :
   N = len(A)
   M = len(B)
   for i in range(N) :
      for j in range(M) :
         if (mat[i][j] == 1) :
            print(min(A[i], B[j]), end = " ")
         else :
            print(0, end = " ")
      print()
A = [4, 2, 3]
B = [3, 1, 0, 0, 4, 0, 5]
mat = [
   [1, 0, 0, 0, 1, 0, 1],
   [0, 0, 1, 0, 0, 1, 1],
   [1, 1, 0, 1, 1, 0, 0]]
print_original_mat(A, B, mat);

入力

[4, 2, 3],
[3, 1, 0, 0, 4, 0, 5],
[[1, 0, 0, 0, 1, 0, 1],
[0, 0, 1, 0, 0, 1, 1],
[1, 1, 0, 1, 1, 0, 0]]

出力

3 0 0 0 4 0 4
0 0 0 0 0 0 2
3 1 0 0 3 0 0

  1. Pythonで特定の二分木で最大の完全なサブツリーを見つける

    特定の二分木があるとします。与えられた二分木で最大のパーフェクトサブツリーのサイズを見つける必要があります。私たちが知っているように、完全な二分木は、すべての内部ノードに2つの子があり、すべての葉が同じレベルにある二分木です。 したがって、入力が次のような場合 その場合、出力は3になり、サブツリーは これを解決するには、次の手順に従います- RetTypeと呼ばれる1つのブロックを定義します。これは、isPerfect、height、rootTreeを保持し、最初はすべて0です get_prefect_subtree()という関数を定義します。これはルートを取りま

  2. 配列内の最大の要素を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、配列の最大要素を計算する必要があります。 ここでは、ループ全体をトラバースして最大の要素を計算し、要素を取得するブルートフォースアプローチを使用します。 以下の実装を観察できます。 例 # largest function def largest(arr,n):    #maximum element    max = arr[0]    # traverse the whole loop    for