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

マップ関数を使用して最大数が1の行を検索するPythonプログラム


2D配列が指定され、配列の要素は0と1です。すべての行がソートされます。最大数が1の行を見つける必要があります。ここではmap()を使用します。map関数は、関数型プログラミングに使用されるPython組み込み関数の中で最も単純な関数です。これらのツールは、シーケンスやその他の反復可能オブジェクトに関数を適用します。

Input
Array is [[0, 1, 1, 1, 1],[0, 0, 1, 1, 1],[1, 1, 1, 1, 1],[0, 0, 0, 0, 1]]
The maximum number of 1's = 2

アルゴリズム

Step 1: sum of on each row of the matrix using map function.
Step 2: it will return a list of sum of all one's in each row.
Step 3: then print index of maximum sum in a list.

サンプルコード

# Python program to find the row with maximum number of 1's
def maximumofones(n):
   max1 = list(map(sum,n))
   print ("MAXIMUM NUMBER OF 1's ::>",max1.index(max(max1)))
   # Driver program
   if __name__ == "__main__":
   n = [[0, 1, 1, 1, 1],[0, 0, 1, 1, 1],[1, 1, 1, 1, 1],[0, 0, 0, 0, 1]]
maximumofones(n)

出力

MAXIMUM NUMBER OF 1's ::> 2

  1. Pythonを使用して、同じラベルを持つサブツリー内のノードの数を見つけるプログラム

    ノードに0からn-1までの番号が付けられたn個のノードを持つルート化された一般ツリーがあるとします。各ノードには、小文字の英字のラベルがあります。ラベルはlabels配列の入力として指定されます。ここで、lables[i]にはi番目のノードのラベルが含まれています。ツリーはエッジリストで表され、各エッジeには[u、v]があり、uは親、vは子を表します。サイズnの配列Aを見つける必要があります。これは、iと同じラベルを持つi番目のノードのサブツリー内のノードの数を表します したがって、入力が次のような場合 ここで、n =5およびlabel=“ ccaca” ルートには同じラベルの子

  2. Pythonを使用して最大の確率でパスを見つけるプログラム

    n個のノード(ノードには0から番号が付けられます)を持つ無向加重グラフがあるとします。このグラフは、エッジリストを使用して入力として与えられ、各エッジeについて、そのエッジ確率[e]を通過する成功の確率があります。開始ノードと終了ノードもあります。最初から最後まで成功の確率が最大のパスを見つけて、成功の確率を返す必要があります。パスが見つからない場合は、0を返します。 したがって、入力が次のような場合 ノード0から2へのパスが2つあるため、出力は0.24になります。1つは確率0.2、もう1つはノード1を経由するパスの確率は0.4 * 0.6 =0.24で、これが最大です。 これを解