バイナリ行列は、各セルに 1 と 0 の要素のみを含む 2 次元配列です。バイナリ行列の水平対称性は、最初の行が最後の行と同じである場合、2 番目の行は最後から 2 番目の行と同じであることを意味します。同様に、垂直対称とは、最初の列と最後の列、最後から 2 番目の列と最後から 2 番目の列などが同じかどうかを意味します。この問題では、行列が与えられ、その中に水平および垂直の対称性があるかどうかを検出します。
1 0 1 0 0 0 1 0 1
- 最初の行と最後の行は同じです。これは、水平方向の対称性があることを意味します。同様に、最初の列と最後の列は同一であるため、垂直方向に対称になります。 入力
Both, horizontal and vertical symmetry is present.
与えられた問題を理解するために例を見てきました。次に、コードを実装する手順を見てみましょう -
p>
p> ###例### リーリー ###出力### リーリー
上記のコードの時間計算量は O(N*M) です。ここで、N は指定された行列の行数、M は指定された行列の列数です。マトリックス全体を 2 回スキャンします。1 回目は水平対称性、もう 1 回目は垂直対称性です。
以上がバイナリ行列の水平および垂直の対称性をチェックする JavaScript プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。