-
アプローチの概要:
- 各行の1の数を数え、最大の数を追跡します。
- 各行を順番に走査し、1の数が最大値と一致する行を見つけます。
-
アルゴリズムの手順:
- 最大の1の数を表す変数「max_ones」を初期化します。
- 最大の1の行を表す変数「max_ones_row」を初期化します。
- 各行について以下の手順を実行します:
- 行内の1の数を数えます。
- もし数えた1の数が「max_ones」よりも大きい場合、それを「max_ones」として更新し、「max_ones_row」を現在の行に設定します。
- 最終的な「max_ones_row」が最大の1の行となります。
-
コード例: 以下に、Python言語を使用したコード例を示します。
def find_max_ones_row(matrix): max_ones = 0 max_ones_row = -1 for i, row in enumerate(matrix): ones_count = row.count(1) if ones_count > max_ones: max_ones = ones_count max_ones_row = i return max_ones_row
この関数は、2次元の行列(レコード)を受け取り、最大の1の行のインデックスを返します。上記のアルゴリズムの手順に基づいて、各行の1の数を数え、最大値を追跡します。